c语言的相关程序关于数组一二维字符.docx
《c语言的相关程序关于数组一二维字符.docx》由会员分享,可在线阅读,更多相关《c语言的相关程序关于数组一二维字符.docx(15页珍藏版)》请在冰豆网上搜索。
c语言的相关程序关于数组一二维字符
一维数组、字符数组、二维数组编程
1.输入一个正整数n(1#includevoidmain(){inta[10],n,i,k,min;//输入数据scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);//找最小(最大)值及下标min=a[0];k=0;for(i=1;iif(a[i]//输出结果printf("最小值=%d,下标=%d\n",min,k);}/*调试数据:51012-21307最小值=-21,下标=2*/实验9_2输入1个正整数n(1#includevoidmain(){inta[10],n,i,k,min,h,max,t;//输入数据scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);//找最小值及下标min=a[0];k=0;for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
#include
voidmain()
{inta[10],n,i,k,min;
//输入数据
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);//找最小(最大)值及下标min=a[0];k=0;for(i=1;iif(a[i]//输出结果printf("最小值=%d,下标=%d\n",min,k);}/*调试数据:51012-21307最小值=-21,下标=2*/实验9_2输入1个正整数n(1#includevoidmain(){inta[10],n,i,k,min,h,max,t;//输入数据scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);//找最小值及下标min=a[0];k=0;for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
scanf("%d",&a[i]);
//找最小(最大)值及下标
min=a[0];k=0;
for(i=1;iif(a[i]//输出结果printf("最小值=%d,下标=%d\n",min,k);}/*调试数据:51012-21307最小值=-21,下标=2*/实验9_2输入1个正整数n(1#includevoidmain(){inta[10],n,i,k,min,h,max,t;//输入数据scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);//找最小值及下标min=a[0];k=0;for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
if(a[i]//输出结果printf("最小值=%d,下标=%d\n",min,k);}/*调试数据:51012-21307最小值=-21,下标=2*/实验9_2输入1个正整数n(1#includevoidmain(){inta[10],n,i,k,min,h,max,t;//输入数据scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);//找最小值及下标min=a[0];k=0;for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
//输出结果
printf("最小值=%d,下标=%d\n",min,k);
}
/*调试数据:
5
1012-21307
最小值=-21,下标=2
*/
实验9_2输入1个正整数n(1#includevoidmain(){inta[10],n,i,k,min,h,max,t;//输入数据scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);//找最小值及下标min=a[0];k=0;for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
{inta[10],n,i,k,min,h,max,t;
for(i=0;iscanf("%d",&a[i]);//找最小值及下标min=a[0];k=0;for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
//找最小值及下标
for(i=1;iif(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
if(a[i]//最小值与第1个数交换t=a[0];a[0]=a[k];a[k]=t;//找最大值及下标max=a[0];h=0;for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
//最小值与第1个数交换
t=a[0];a[0]=a[k];a[k]=t;
//找最大值及下标
max=a[0];h=0;
for(i=1;iif(a[i]>max){max=a[i];h=i;}//最大值与第n-1个数交换t=a[n-1];a[n-1]=a[h];a[h]=t;for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
if(a[i]>max){max=a[i];h=i;}
//最大值与第n-1个数交换
t=a[n-1];a[n-1]=a[h];a[h]=t;
for(i=0;iprintf(“%d“,a[i]);printf(“\n”);}/*调试数据:105432110987614325698710*/2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”#includevoidmain(){inti,n,x,a[10];printf("输入数组元素的个数n:");scanf("%d",&n);//5printf("输入数组%d个元素:",n);for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
printf(“%d“,a[i]);
printf(“\n”);
10
54321109876
14325698710
2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。
在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”
{inti,n,x,a[10];
printf("输入数组元素的个数n:
");
scanf("%d",&n);//5
printf("输入数组%d个元素:
",n);
for(i=0;iscanf("%d",&a[i]);//13579printf("x=");scanf("%d",&x);//5for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
scanf("%d",&a[i]);//13579
printf("x=");
scanf("%d",&x);//5
for(i=0;iif(a[i]==x)break;if(i==n)printf("找不到与%d相同的元素\n",x);elseprintf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);} 3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。#includevoidmain(){inta[6]={8,6,5,4,1};inti,j,t;for(i=0,j=4;i<5/2;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");}4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
if(a[i]==x)break;
if(i==n)
printf("找不到与%d相同的元素\n",x);
else
printf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);
3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。
{inta[6]={8,6,5,4,1};
inti,j,t;
for(i=0,j=4;i<5/2;i++,j--)
{t=a[i];
a[i]=a[j];
a[j]=t;
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
4.习题7.4输入一个正整数n(1#includevoidmain(){inta[10];inti,n,x;scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
{inta[10];
inti,n,x;
for(i=0;iscanf("%d",&a[i]);scanf("%d",&x);for(i=n-1;i>=0;i--)if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
scanf("%d",&x);
for(i=n-1;i>=0;i--)
if(x{a[i+1]=a[i];a[i]=x;}else{a[i+1]=x;break;}for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
{a[i+1]=a[i];a[i]=x;}
{a[i+1]=x;break;}
for(i=0;iprintf("%d",a[i]);printf("\n");}5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。#includevoidmain(){inti,j,k,t;inta[10];//输入数据printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("排序前的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");//选择法排序for(i=0;i<(10-1);i++){k=i;for(j=i+1;j<10;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}//输出结果printf("排序后的数据:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}/*2479101538612345678910*///起泡法排序for(i=0;i<(10-1);i++)for(j=0;j<(10-1-i);j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} 1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。#includevoidmain(){floata[4][4],min;inti,j,n,m,min_i,min_j;printf("输入数组行数和列数nm:");scanf("%d%d",&n,&m);printf("输入%d行%d列的数组元素:",n,m);for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。
{inti,j,k,t;
inta[10];
printf("输入10个整数:
for(i=0;i<10;i++)
printf("排序前的数据:
\n");
printf("%4d",a[i]);
//选择法排序
for(i=0;i<(10-1);i++)
{k=i;
for(j=i+1;j<10;j++)
if(a[k]>a[j])k=j;
if(k!
=i)
{t=a[i];a[i]=a[k];a[k]=t;}
printf("排序后的数据:
/*24791015386
12345678910
//起泡法排序
for(j=0;j<(10-1-i);j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。
{floata[4][4],min;
inti,j,n,m,min_i,min_j;
printf("输入数组行数和列数nm:
scanf("%d%d",&n,&m);
printf("输入%d行%d列的数组元素:
",n,m);
for(i=0;ifor(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
for(j=0;jscanf("%f",&a[i][j]);min=a[0][0];min_i=min_j=0;for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
scanf("%f",&a[i][j]);
min=a[0][0];min_i=min_j=0;
for(i=0;ifor(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
for(j=0;jif(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
if(a[i][j]{min=a[i][j];min_i=i;min_j=j;}for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
{min=a[i][j];
min_i=i;min_j=j;
for(i=0;i{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
{for(j=0;jprintf("%8.2f",a[i][j]);printf("\n");}printf("a[%d][%d]=%.2f\n",min_i,min_j,min);}/*输入数组行数和列数nm:23输入2行3列的数组元素:12-715-1891112.00-7.0015.00-18.009.0011.00a[1][0]=-18.00*/2.习题7.3求一个3×3的整型矩阵对角线元素之和。#includevoidmain(){inta[3][3]={1,2,3,4,5,6,9,8,7};inti,j,sum1=0,sum2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==2)sum2=sum2+a[i][j];}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("sum1=%d,sum2=%d\n",sum1,sum2);}/*123456987sum1=13,sum2=17*/3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。#includevoidmain(){inta[6][6];inti,j,n,flag=1;scanf("%d",&n);for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
printf("%8.2f",a[i][j]);
printf("a[%d][%d]=%.2f\n",min_i,min_j,min);
/*输入数组行数和列数nm:
23
输入2行3列的数组元素:
12-715-18911
12.00-7.0015.00
-18.009.0011.00
a[1][0]=-18.00
2.习题7.3求一个3×3的整型矩阵对角线元素之和。
{inta[3][3]={1,2,3,4,5,6,9,8,7};
inti,j,sum1=0,sum2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{if(i==j)sum1=sum1+a[i][j];
if(i+j==2)sum2=sum2+a[i][j];
{for(j=0;j<3;j++)
printf("%4d",a[i][j]);
printf("sum1=%d,sum2=%d\n",sum1,sum2);
/*
123
456
987
sum1=13,sum2=17
3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。
上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。
{inta[6][6];
inti,j,n,flag=1;
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
for(j=0;jscanf("%d",&a[i][j]);for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
scanf("%d",&a[i][j]);
for(i=0;ifor(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
for(j=0;jif((i>j)&&(a[i][j]!=0)){flag=0;break;}if(flag)printf("YES!\n");elseprintf("NO!\n");}/*412340568007900010YES!412340568007910010NO!*/4.输入5行字符串,输出最大字符串。#include#includevoidmain(){charstr[5][80],max[80];inti;for(i=0;i<5;i++)gets(str[i]);strcpy(max,str[0]);for(i=1;i<5;i++)if(strcmp(str[i],max)>0)strcpy(max,str[i]);puts(max);}/*abcdefaabcdefdabcdegabcdefeabcdefgabcdeg*/1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。如“ABCD”颠倒为“DCBA”。简化#include#includevoidmain(){inti,k,temp;charstr[80];printf(”inputastring:”);gets(str); k=strlen(str)-1;i=0;while((str[i]=getchar())!=’\n’)i++;str[i]=’\0’;k=i-1;for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
if((i>j)&&(a[i][j]!
=0))
{flag=0;break;}
if(flag)
printf("YES!
printf("NO!
/*4
1234
0568
0079
00010
YES!
4
10010
NO!
4.输入5行字符串,输出最大字符串。
{charstr[5][80],max[80];
inti;
gets(str[i]);
strcpy(max,str[0]);
for(i=1;i<5;i++)
if(strcmp(str[i],max)>0)
strcpy(max,str[i]);
puts(max);
abcdefa
abcdefd
abcdeg
abcdefe
abcdefg
1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。
如“ABCD”颠倒为“DCBA”。
简化
{inti,k,temp;
charstr[80];
printf(”inputastring:
”);
gets(str);
k=strlen(str)-1;
i=0;
while((str[i]=getchar())!
=’\n’)
i++;
str[i]=’\0’;
k=i-1;
for(i=0;itemp=str[i];str[i]=str[k];str[k]=temp;k--;}puts(str);for(i=0;str[i]!=’\0’;i++)putchar(str[i]);} 2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。#include#includevoidmain(){chars[80];inti,j,n;intA,a,d,k,o;printf("输入字符串行数:");scanf("%d",&n);getchar();A=a=d=k=o=0;for(j=1;j<=n;j++){gets(s);i=0;while(s[i]!='\0'){if('A'<=s[i]&&s[i]<='Z')A++;elseif('a'<=s[i]&&s[i]<='z')a++;elseif('0'<=s[i]&&s[i]<='9')d++;elseif(s[i]=='')k++;elseo++;i++;}}printf("大写字母数:%d\n",A);printf("小写字母数:%d\n",a);printf("数字字符数:%d\n",d);printf("空格字符数:%d\n",k);printf("其他字符数:%d\n",o);}输入字符串行数:2Beijing2008Gamesofthe29thOlympiad!8thInternationalSymposiumonSafetySciencd.大写字母数:7小写字母数:59数字字符数:7空格字符数:11其他字符数:23.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。#includevoidmain(){charstr[80],c;inti,count;printf("输入一个字符:");c=getchar();getchar();printf("输入一个字符串:");gets(str);count=0;i=0;while(str[i]!='\0'){if(str[i]==c)count++;i++;}printf("在字符串中与%c相同的字母有%d个!\n",c,count);}输入一个字符:o输入一个字符串:StudioClassroom在字符串中与o相同的字母有3个!4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includevoidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline\n",num);}
temp=str[i];
str[i]=str[k];
str[k]=temp;
k--;
puts(str);
for(i=0;str[i]!
=’\0’;i++)
putchar(str[i]);
2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。
{chars[80];
inti,j,n;
intA,a,d,k,o;
printf("输入字符串行数:
getchar();
A=a=d=k=o=0;
for(j=1;j<=n;j++)
{gets(s);
while(s[i]!
='\0')
{if('A'<=s[i]&&s[i]<='Z')
A++;
elseif('a'<=s[i]&&s[i]<='z')
a++;
elseif('0'<=s[i]&&s[i]<='9')
d++;
elseif(s[i]=='')
k++;
o++;
printf("大写字母数:
%d\n",A);
printf("小写字母数:
%d\n",a);
printf("数字字符数:
%d\n",d);
printf("空格字符数:
%d\n",k);
printf("其他字符数:
%d\n",o);
输入字符串行数:
2
Beijing2008Gamesofthe29thOlympiad!
8thInternationalSymposiumonSafetySciencd.
大写字母数:
7
小写字母数:
59
数字字符数:
空格字符数:
11
其他字符数:
3.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。
{charstr[80],c;
inti,count;
printf("输入一个字符:
c=getchar();getchar();
printf("输入一个字符串:
count=0;
while(str[i]!
{if(str[i]==c)count++;
printf("在字符串中与%c相同的字母有%d个!
\n",c,count);
输入一个字符:
o
输入一个字符串:
StudioClassroom
在字符串中与o相同的字母有3个!
4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
{charstring[81];
inti,num=0,word=0;
charc;
gets(string);
for(i=0;((c=string[i])!
='\0');i++)
if(c=='')word=0;
elseif(word==0)
{word=1;num++;}
printf("Thereare%dwordsintheline\n",num);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1