![](https://lstatic.shangxueba.com/jiandati/pc/images/pc_jdt_tittleico.png)
上机运行以下三段程序的结果。请先阅读程序写出程序运行时应输出的结果,然后上机运行程序,验证自己分析的结果是否正确。 程序1: 程序2: 程序3: 结果以如下形式提交: 程序1: 程序2: 运行截图 程序3: 运行截图
![](https://lstatic.shangxueba.com/jiandati/pc/images/jdt_panel_vip.png)
1.实验目的
①掌握一维数组和二维数组的定义、赋值和输入输出的方法。
②掌握字符数组和字符串函数的使用。
③掌握与数组有关的算法(特别是排序算法)。
2.实验内容
编程序并上机调试运行。
①以下程序运行后的输出结果是______。
main()
{int a[4][4]={{1-2,-3,-4}, {0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
int i,j,s=0;
for(i=0;i<4;i++)
{,for(j=0;j<4;j++)
{if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s):
}
②以下程序运行后的输出结果是______。
main()
{int i,n[]={0,0,0,0,0);
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
③以下程序运行后的输出结果是______。
main()
{int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a [j][i]=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
}
}
④求出任何n×5的数组中所有数据的平均值。
⑤若有说明:int a[2][3]={{1,2,3},{4,5,6}};现要将a的行和列的元素互换后存入另一个二维数组b中。
⑥通过循环按行顺序为一个5*5的二维数组a赋1到25的自然数,然后输出该数组的左下半角。
⑦试编程打印出5*5的螺旋方阵。
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
⑧某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
1.实验目的
①了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
②学会正确使用逻辑运算符和逻辑表达式。
③熟练掌握if语句和switch语句。
④结合程序掌握一些简单算法。
⑤学习调试程序。
2.实验内容
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
3.程序编写
①下面程序实现:输入三个整数,按从大到小的顺序进行输出。请在if后的()内填入正确内容。
main()
{int x,y,z,c;
scanf("%d%d%d",&x,&y,&z);
if( )
{c=y;y=z;z=c;}
if( )
{c=x;x=z;z=c;}
if( )
{c=x;x=y;y=c;}
printf("%d,%d,%d",x,y,z);
}
②以下程序实现:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母:其他字符不变。请在()内填入正确内容。
main()
{char ch;
scanf("%c",&ch);
if( )ch=ch+32;
else if(ch>='a'&&ch<='z')( )
printf("%c",ch);
}
③试编程判断输入的正整数是否既是5的整数倍又是7的整数倍。若是,则输出yes;否则输出no。
④编程实现:有3个整数a,b,c,由键盘输入,输出其中最大的数。
⑤给出100分制成绩,要求根据成绩的多少,输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。用switch语句进行编程。
1.实验目的
①掌握结构体型变量的定义和使用。
②掌握结构体型数组的概念和使用。
③掌握链表的概念,初步学会对链表进行操作。
④掌握共用体的概念与使用。
2.实验内容
编程序,然后上机调试运行。
①输入和运行以下程序
union data
{int i[2];
float a;
long b;
char c[4];
}u;
main()
{ scanf("%d,%d",&u.i[0],&u.i[1]);
printf("i[0]=%d,i[1]=%d,a=%f,b=%ld,c[0]=%c,c[1]=%c,c[2]=%c,c[3]=%c",u i[0],u i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);
输入两个整数10000、20000给u.i[0]和u.i[1],分析运行结果。
然后将scanf语句改为:
scanf(”%ld",&u.b);
输入60000给b,分析运行结果。
②从键盘输入一个人的姓名、年龄、性别和身高,然后将它们打印出来。
③在某个选举区中共有500个选民,有6个候选人,要求编写一个程序来统计并显示每一个候选人的得票数量。
④在一个盒子中有红、绿、蓝、白四种颜色的球各若干。现在需要依次从盒子中取出两个球,问取出的两个球颜色不同的可能取法共有多少?编程打印出可能的取法。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!