if(p!
=i){/*若最小元素不是a[i],则将其与a[i]交换*/
temp=a[p];a[p]=a[i];a[i]=temp;
}
}
printf("Thesortednumbersare:
\n");
for(i=0;i<10;i++)
printf("%d__”,a[i]);
}
3、已知10个学生的英语成绩,从键盘输入1个成绩,查找是否有此成绩。
如果找到,则输出找到的位置,否则输出“notfound”。
#include
main()
{
inta[10],x;
inti;
/*输入10个学生成绩到数组a中*/
printf("Input10scores:
\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
/*输入待查找的成绩到变量x中*/
printf("Inputx:
\n");
scanf("%d",&x);
/*在查找表中顺序查找x*/
for(i=0;i<10;i++)
if(a[i]==x)break;
/*输出查找结果*/
if(i<10)
printf("%disin%d\n",x,i);
else
printf("notfound\n");
}
4、已知10个学生的高考总成绩,输出最高分。
#include
main()
{
floatscore[10],maxscore;
inti;
/*输入10个学生的高考总成绩到数组score中*/
printf("Input10scores:
\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
/*变量maxscore赋值为第一个学生的成绩*/
maxscore=score[0];
/*求最高分*/
for(i=1;i<10;i++)
if(score[i]>maxscore)maxscore=score[i];
/*输出最高分*/
printf("maxscore=%6.1f\n",maxscore);
}
5、输入20个学生的成绩,要求统计并输出优秀(大于等于85)、及格(60~84)和不及格(小于60)的学生人数。
#include
main()
{
intmark[20],g,p,f,i;
g=p=f=0;
printf("Enterscores:
\n");
for(i=0;i<20;i++)
scanf("%d",&mark[i]);
/*统计优秀、及格和不及格的学生人数*/
for(i=0;i<20;i++)
if(mark[i]>=85)g++;
elseif(mark[i]>=60)p++;
elsef++;
/*输出统计结果*/
printf("优秀人数:
%d\n",g);
printf("及格人数:
%d\n",p);
printf("不及格人数:
%d\n",f);
}
6、从键盘任意输入一行字符(不超过80个),统计其中的英文字母、数字、空格以及其它字符的个数。
#include
main()
{
charstring[80];
intletter,digit,blank,other,i;
letter=digit=blank=other=0;
/*输入一行字符*/
printf("Enterstring:
\n");
gets(string);
/*按要求统计各类字符的个数*/
for(i=0;string[i]!
='\0';i++)
if('a'<=string[i]&&string[i]<='z'||'A'<=string[i]&&string[i]<='Z')
letter++;
elseif('0'<=string[i]&&string[i]<='9')
digit++;
elseif(string[i]=='')/*当前字符为空格*/
blank++;
else
other++;
/*输出统计结果*/
printf("英文字母个数:
%d\n",letter);
printf("数字个数:
%d\n",digit);
printf("空格个数:
%d\n",blank);
printf("其它字符个数:
%d\n",other);
}
7、求一个5*5矩阵主对角线和副对角线元素总和。
#include
main()
{
inti,j;
inta[5][5],sum=0;
/*输入5*5矩阵*/
printf("Input25numbers:
\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
/*求主对角线和副对角线元素总和*/
for(i=0;i<5;i++)
sum+=a[i][i]+a[i][4-i];
/*输出求和结果*/
printf("Thesumis:
");
printf("%d\n",sum-a[2][2]);
}
8、输入一个以回车键结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其它字符。
#include
main()
{
charstr[80];
inti,k=0;
printf("Inputastring:
\n");
gets(str);
/*删除字符串中除英文字母和数字字符以外的字符*/
for(i=0;str[i]!
='\0';i++)
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z'
||str[i]>='0'&&str[i]<='9'){
str[k]=str[i];/*保留字符串中的英文字母和数字字符*/
k++;
}
str[k]='\0';
printf("Outputnewstring:
\n");
puts(str);
}
9、有3×4矩阵,求出其中最大元素所在的行号和列号。
#include
main()
{inti,j,r=0,c=0,max;
inta[3][4]={{1,2,3,4},{9,8,4,6},{-10,10,-5,2}};
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max){
max=a[i][j];
r=i;
c=j;
}
printf(“max=%d,row=%d,col=%d\n”,max,r,c);
}
10、打印以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
………………………………
#include
main()
{
inta[10][10],i,j;
/*第0列及主对角线上的元素值均赋为1*/
for(i=0;i<10;i++)
a[i][0]=a[i][i]=1;
/*计算下三角阵中除第0列及主对角线上元素以外的其他元素的值*/
for(i=2;i<10;i++)
for(j=1;j
a[i][j]=a[i-1][j-1]+a[i-1][j];