C语言程序设计经典题目大汇总(8)

2018-11-19 22:05

}

14.从键盘上输入两个字符串,若不相等,将短的字符串连接到长的字符串的末尾并输出。 #include #include {char s1[80],s2[80]; gets(s1); gets(s2);

if(strcmp(s1,s2)!=0;

if(strlen(s1)>strlen(s2)) {strcat(s1,s2);puts(s1);}

else{strcat(s2,s1);puts(s2);} }

15.从键盘输入两个字符串,不用字符串函数strcmp()比较两者的大小。 #include void main() {

int i,flag;

int compstr(char,char); char str1[80],str2[80]; gets(str1); gets(str2); i=0;

do{

flag=compstr(str1[i],str2[i]); i++;

}while((str[i]!=’\\0’)&&(str2[i]!=’0’)&&(flag==0)); if(flag==0) printf(“%s=%s”,str1,str2);

else if(flag>0) printf(“%s>%s”,str1,str2); else printf(“%s<%s”,str1,str2); }

int compstr(char c1,char c2) {int t; t=c1-c2; return t; }

16.用冒泡法将8个数按由大到小排序。 #include #define N 80 void main() {int a[N];

int i,m;

void sort(int b[],int k); void print(int b[],int k); printf(“\\nInput m(<80):”); scanf(“%d”,&m);

for(i=0;i

void sort(int b[],int k) {int i,j,t,flag; for(j=0;j

for(i=0;ib[i+1]) {t=b[i]; b[i]=b[i+1]; b[i+1]=t; flag=1;

if(flag==0) break; } }

void print(int b[],int k) {int i;

for(i=0;i

{

if(i%4==0)putchar(‘\\n’); printf(“%-6d”,b[i]); }

}

17.从键盘输入一个正整数,判断其是否为回文数。所谓回文数是顺读与反读都是一样的数,如12321,234555432都是回文数。 #include #include\\ void main() {int i,k; long n,m;

int digit[10];

puts(“Input a position integer:”); scanf(“%ld”,&n); m=n;k=0;

do

{digit[k++]=m; m/=10;

}while(m!=0);

k--;

for(i=0;i

if(digit[i]!=digit[k])break;

if(i

else printf(“%ld is a palindrome.”,n); }

18.输入一行字符,统计其中有多少个单词,单词之间用一个或者多个空格隔开。 #include #include void main() {int n;

char s[80];

int count_words(char str[]); printf(“Input a string:”); gets(s);

n=count_word(s);

printf(“Word number is %d”,n); }

int count words(char str[]) { int k,num=0; k=strlen(str); do{

k--;

}while(str[k]==’’); str[k+1]=’\\0’; k=0;

while(str[k]==’ ‘)k++; if(str[k]!=’ ‘) num=1;

while(str[k]!=’0’)

{if(k>0&&str[k]==’ ‘&&str[k-1]!=’ ‘) num++; k++; }

return num; }

19.从键盘输入一串英文字母(不含空格与其它字符),统计每个字母的个数,并输出字母个数及相应的个数。 #include void main()

{int i=0,c[52]={0},m=0; char str[80];

printf(“Input a string:”); scanf(“%s”,str); while(str[i])

{if(str[i]>=’A’&&str[i]<=’Z’)c[str[i]-‘A’]++ if(str[i]>’a’&&str[i]<=’z’)c[str[i]-‘a’+26]++; i++;

}

for(i=0;i<26;i++)

if(c[i]){if(m%8==0) putchar(‘\\n‘);m++; printf(“%c:%-d”,i+’A’,c[i]); }

for(i=0;i<26;i++)

if(c[i+26]){if(m%s==0) putchar(‘\\n’);m++; printf(“%c:%-d”,i+’a’,c[i+26]); } }

20.从键盘输入一个4*4整数矩阵,以主对角线(\\)为对称轴,将左下角元素中较大元素代替右上角对应元素,并将右上角元素(含对角线元素)输出。 #include #include void main() {

int d[4][4],i,j,temp;

printf(“Input 16 numbers:”); for(i=0;i<4;i++)

for(j=0;j<4;j++)

scanf(“%d”,&d[i][j]);

for(i=0;i<4;i++) for(j=0;j

if(d[i][j]>d[j][i]) d[j][i]=d[i][j]; for(i=0;i<4;i++) {printf(“\\n”); for(j=0;j<4;j++)

if(j>=i) printf(“m”,d[i][j]); else printf(“l”,’ ‘); } }

21.求一组成绩的平均分数以及高于平均分的成绩,设给定的成绩为 90,85,92,77,80,62。 main()

{

int score[6]={90,85,92,77,80,62}; int i,sum=0; float aver;

for(i=0;i<6;i++)sum+=score[i]; aver=sum/6.0;

printf(\ printf(\ for(i=0;i<6;i++)

if(score[i]>aver)printf(\

}

22.编写程序,输入一组整数,将它们排序后由小到大输出。

【提示】假设为具有 10 个元素的正整数数组;外层循环从数组的第一个元素开始选取;内层循环从外层循环选定的元素下一个元素开始选取,依次与外层循环选定的元素进行比较,将小者放入外层循环选定的元素中。 #define N 10 main()

{

int a[N],i,j,t;

for(i=0;i

printf(\ scanf(\ }

for(i=0;i

for(j=i+1;j

if(a[i]>a[j])

{

t=a[i];a[i]=a[j];a[j]=t; } }

printf(\/*输出已更新为较小值之外层选定元素*/ } }

23.从键盘输入一个4×4整数矩阵,以主对角线(\\)为对称轴,将左下角元素中较大元素代替右上角对应元素,将右上角(含对角线元素)输出。 【提示】a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[3][0] a[3][1] a[3][2] a[3][3] #define M 4 main() {

int a

;

int i,j,k,t;

printf(\


C语言程序设计经典题目大汇总(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Chapt.7 精密与特种加工技术(课件)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: