收藏 分销(赏)

C语言基础题目与代码.doc

上传人:仙人****88 文档编号:8878825 上传时间:2025-03-06 格式:DOC 页数:10 大小:52.50KB
下载 相关 举报
C语言基础题目与代码.doc_第1页
第1页 / 共10页
C语言基础题目与代码.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述
/*读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式: 在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu */ #include <stdio.h> void shuchu(int x); int main(){ char n; int a,b,s=0; scanf("%c",&n); while(n!='\n') { s+=n-'0'; scanf("%c",&n); } shuchu(s); return 0; } void shuchu(int x) { if(x<0) { printf("fu "); x=-x; } int mask = 1; int t = x; while ( t>9 ) { t /= 10; mask *=10; } do { int d = x / mask; switch(d) { case 0: printf("ling");break; case 1: printf("yi");break; case 2: printf("er");break; case 3: printf("san");break; case 4: printf("si");break; case 5: printf("wu");break; case 6: printf("liu");break; case 7: printf("qi");break; case 8: printf("ba");break; case 9: printf("jiu");break; } if(mask>9)printf(" "); x %= mask; mask /= 10; } while ( mask > 0 ); return; } /* 给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。 输出格式: 对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。 输入样例: 4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -2147483647 输出样例: Case #1: false Case #2: true Case #3: true Case #4: false */ #include<stdio.h> int main() { int t,i=1; double a,b,c; scanf("%d",&t); do { i++; scanf("%lf %lf %lf",&a,&b,&c); if((a+b)>c) { printf("Case #%d: true\n",i-1); } else { printf("Case #%d: false\n",i-1); } }while(i<=t); return 0; } /* 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第1行中给出矩阵A的行数M和列数N(3<=M,N<=20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。 输出格式: 每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。 输入样例1: 4 5 1 1 1 1 1 1 3 9 3 1 1 5 3 5 1 1 1 1 1 1 输出样例1: 9 2 3 5 3 2 5 3 4 输入样例2: 3 5 1 1 1 1 1 9 3 9 9 1 1 5 3 5 1 输出样例2: None 3 5 */ #include<stdio.h> int main() { int m,n,i,j,flag=0; int a[20][20]; scanf("%d %d",&m,&n); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=1;i<m-1;i++) { for(j=1;j<n-1;j++) { if((a[i][j]>a[i+1][j])&&(a[i][j]>a[i-1][j])&&(a[i][j]>a[i][j+1])&&(a[i][j]>a[i][j-1])) { flag=1; printf("%d %d %d\n", a[i][j], i + 1, j + 1); } } } if(!flag) printf("None %d %d\n", m, n); return 0; } /* 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。 输出格式: 在一行中输出能够组成的最小的数。 输入样例: 2 2 0 0 0 3 0 0 1 0 输出样例: 10015558 */ #include<stdio.h> int main() { int i,n,x,j; int a[10]; for(i=0;i<10;i++) { scanf("%d",&a[i]); } /*输出第一个数*/ for(i=0;i<10;i++) { if(i!=0&&a[i]!=0) { printf("%d",i); a[i]-=1; break; } } /*输出后面的数*/ for(i=0;i<10;i++) { while(a[i]!=0) { printf("%d",i); a[i]--; } } return 0; } /* 定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。 输出格式:每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello World Here I Come 输出样例: Come I Here World Hello */ #include<stdio.h> #include<string.h> int main() { char str[81]; char str2[80][81]; char *p; int i,count=0; gets(str); p=strtok(str," "); while(p!=NULL) { strcpy(str2[count],p); p=strtok(NULL," \n"); ++count; } for(i = count - 1; i > 0; --i) printf("%s ", str2[i]); printf("%s\n", str2[0]); return 0; } /* 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。 输入样例: Hello World! 输出样例: !dlroW olleH */ #include<stdio.h>int main() { char a[80]; int i=0; while(a[i-1]!='\n') { scanf("%c",&a[i]); i++; } for(i=i-1;i>=0;i--) { if(a[i]=='\n') continue; printf("%c",a[i]); } return 0; } /* 令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。 输入格式: 输入在一行中给出M和N,其间以空格分隔。 输出格式: 输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。 输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 */ #include <stdio.h> int main() { int x,j=1,s,m,n,count=0; int a[10001]; scanf("%d %d",&m,&n); for ( x=2; x<=10000; x++ ) { int i; int isPrime = 1; // x是素数 for ( i=2; i<x; i++ ) { if ( x % i == 0 ) { isPrime = 0; break; } } if ( isPrime == 1 ) { a[j]=x; j++; } } for(s=m;s<=n;s++) { printf("%d",a[s]); count++; if(s!=n&&(count%10!=0)) printf(" "); if(count%10==0) { printf("\n"); } } return 0; } /*输入一个字符串S,再输入一个字符c,要求在字符串S中查找字符c。如果找不到则输出“Not found”;若找到则输出字符串S中从c开始的所有字符。 输入格式: 输入在第1行中给出一个不超过80个字符长度的、以回车结束的非空字符串;在第2行中给出一个字符。 输出格式: 在一行中按照题目要求输出结果。 输入样例1: It is a black box b 输出样例1: black box 输入样例2: It is a black box B 输出样例2: Not found 提交代码*/ #include<stdio.h> #include<string.h> int main() { char str[81]=" "; char ch; char *p; gets(str); scanf("%c",&ch); p=strchr(str,ch); if(p!=NULL) { printf("%s",p); } else printf("Not found"); return 0; } /*输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。 输入样例: Tomcat is a male ccatat cat 输出样例: Tom is a male 提交代码*/ #include<stdio.h> #include<string.h> int main() { char str[81]; char ch[80]; char *p; gets(str); gets(ch); while(strstr(str,ch)) { p=strstr(str,ch); //把p指向str中的ch位置,得到ch开始的一串字符 p[0]='\0'; //把第一个字符单词改为'\0' strcat(str,p+strlen(ch)); //把去掉ch长度后的单词前移 } printf("%s",str); return 0; } /*输入一个字符串和一个非负整数N,要求将字符串循环左移N次。 输入格式: 输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。 输出格式: 在一行中输出循环左移N次后的字符串。 输入样例: Hello World! 2 输出样例: llo World!He 提交代码*/ #include<stdio.h> #include<string.h> int main() { int n,m; char str1[100]; char str2[100]; gets(str1); scanf("%d",&n); char *p=str1; p=p+n; for(m=0;m<n;m++) { str2[m]=str1[m]; } p=strcat(p,str2); printf("%s",*p); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服