113道C语言
更新时间:2023-10-07 14:10:01 阅读量: 综合文库 文档下载
1.输入两个正整数,m和n,求其最大公约数和最小公倍数。 printf(\ #include
int hcf(int,int); /*函数声明*/ int lcd(int,int,int); /*函数声明*/ int u,v,h,l;
}
void count(char str[]) {
int i;
for(i=0;str[i]!='\\0';i++)
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<=
printf(\input two numbers:\\n\ letter++; scanf(\ else if(str[i]>='0'&&str[i]<='9') h=hcf(u,v);
printf(\ l=lcd(u,v,h);
printf(\}
int hcf(int u,int v) {
int t,r; if(v>u)
{t=u;u=v;v=t;} while((r=u%v)!=0) {u=v;v=r;}
return(v); }
int lcd(int u,int v,int h) {
return(u*v/h); }
digit++;
else if(str[i]==32) space++; else
others++; }
3.输入一个正整数求出它是几位数;输出原数和位数。 #include
void count(char[]); char text[80];
printf(\input numbers:\\n\ gets(text);
printf(\ puts(text); digit=0;
2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。 count(text); #include
int letter,digit,space,others; void main() {
void count(char[]);
printf(\}
void count(char str[]) {
int i;
char text[80]; for(i=0;str[i]!='\\0';i++)
printf(\input string:\\n\ if(str[i]>='0'&&str[i]<='9') gets(text);
printf(\ puts(text); letter=0; digit=0; space=0; others=0; count(text);
4.输入一个正整数,输出原数并逆序打印出各位数字。 #include
void invertLongInt(long); void main() {
digit++; }
unsigned long iNumber; static char picture[4][7]={{' ',' ',' ','*'},
printf(\input a number:\\n\ {' ',' ','*','*','*'},{' ',' *','*','*','*','*'},{'*', scanf(\ for(i=0;i<=3;i++) printf(\input number is:%ld\\n\ { printf(\ for(j=0;j<=6;j++) invertLongInt(iNumber); }
void invertLongInt(long x) {
if(x>=0&&x<=9) printf(\ else
{
printf(\ invertLongInt(x/10); } }
9.打印以下图案: * ** ***
****
#include
printf(\ printf(\ } }
5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入 int i,j; printf(\
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。将结果输出。 char picture[4][4]={{'*'}, 7.求1!+2!+3!+??+20!,将结果输出。 #include
float s=0,t=1; int n;
for(n=1;n<=20;n++) {
t=t*n; s=s+t;
}
printf(\\\n\}
8.打印以下图案: * *** ***** ******* #include
int i,j;
printf(\
{'*','*'},{' *','*','*'},{'*','*','*','*'}}; for(i=0;i<=3;i++) {
for(j=0;j<=3;j++)
printf(\ printf(\ } }
10.求下列试子的值:1-1/2+1/3-1/4+??+1/99-1/100,将结果#include
float sum=1.0,t,s=1; int i;
for(i=1;i<=100;i++) { t=s/i; sum=sum+t; s=-s;
}
printf(\1/4+??+1/99-1/100=%5.4f\\n\}
11.打印出100~999之间的所有水仙花数。 #include
int i,j,k,n;
char space=' ';
printf(\ for(i=0;i<4;i++) {
printf(\
printf(\~999之间的所有水仙花数 are:\\n\ printf(\ for(n=100;n<1000;n++) for(j=1;j<=i;j++) {
i=n/100; j=n/10-i*10; k=n;
if(n==i*i*i+j*j*j+k*k*k) printf(\ }
printf(\}
printf(\ for(k=0;k<7;k++) printf(\ }
printf(\}
14.打印以下图案: 1
121
12.求Sn=a+aa+aaa+?+aa?a之值,n,a由键盘输入。 12321 #include
int a,n,i=1,sn=0,tn=0; printf(\ scanf(\ while(i<=n) {
tn=tn+a; sn=sn+tn; a=a*10; ++i;
}
printf(\\\n\}
13.打印以下图案: ******* ******* ******* ******* #include
15. 打印以下图案: 1234321 12321 121 1 1234321
16.编写一个统计学生成绩程序,完成以下功能:输入4个学生#include
char num[3]; char name[4]; float score[2]; float avr; }
stu[N]; void main() {
int i,j;
float sum,average; {
for(i=0;i printf(\input scores of student%d:\\n\ printf(\ scanf(\ for(j=0;j<2;j++) { printf(\ scanf(\ } } average=0; /*计算*/ for(i=0;i sum=0; for(j=0;j<2;j++) sum+=stu[i].score[j]; stu[i].avr=sum/2; average+=stu[i].avr; } average/=N; for(i=0;i { printf(\ printf(\ for(j=1;j<=i;j++) printf(\ for(k=0;k<5;k++) printf(\ } printf(\} 18.给出年、月、日,计算该日是该年的第几天。 #include { int sum_day(int,int); int leap(int year); int year,month,day,days; printf(\input date(year,month,day):\ printf(\ printf(\ scanf(\ { days=sum_day(month,day); printf(\ if(leap(year)&&month>=3) for(j=0;j<2;j++) printf(\ printf(\ } printf(\} 17. 打印以下图案: ***** ***** ***** ***** ***** #include char a[5]={'*','*','*','*','*'}; int i,j,k; char space=' '; printf(\ for(i=0;i<5;i++) days=days+1; printf(\ } int sum_day(int month,int day) { int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31 int i; for(i=1;i int leap(int year) { int leap; leap=year%4==0&&year0!=0||year@0==0; return(leap); } 19.求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的#include { float a[3][3],sum=0; int i,j; printf(\请输入元素:\\n\for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\for(i=0;i<3;i++) sum=sum+a[i][i]; printf(\对角线之和是:%6.2f\\n\for(i=0;i<=3;i++) { for(j=0;j<=3;j++) printf(\ printf(\} } scanf(\ for(i=0;i<4;i++) { k=0; for(j=0;j<3;j++) k+=a[i][j]; printf(\第%d行的平均值是%d\ printf(\ } } 22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最#include int a[3][5],s[3],i,j,k; for(i=0;i<3;i++) scanf(\ for(i=0;i<3;i++) { *(s+i)= *(*(a+j)); for(j=1;j<5;j++) if(*(s+i) < *(*(a+i)+j)) *(s+i)= *(*(a+i)+j); } for(i=0;i<3;i++) { printf(\ printf(\ } } 20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。 for(j=0;j<5;j++) #include { int a[4][3],s[4],i,j,k; for(i=0;i<4;i++) for(j=0;j<3;j++) scanf(\ for(i=0;i<4;i++) { k=0; for(j=0;j<3;j++) k+=a[i][j]; printf(\第%d行的平均值是%d\ printf(\ } } 23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最 #include 21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。void main() #include int a[4][3],s[4],i,j,k; for(i=0;i<4;i++) for(j=0;j<3;j++) { int a[4][3],s[4],i,j,k; for(i=0;i<4;i++) for(j=0;j<3;j++) scanf(\ char text[80]; printf(\输入字符串:\\n\ gets(text); printf(\字符串是:\ puts(text); letter=0; digit=0; space=0; others=0; count(text); printf(\} 110.编写一个函数,由实参传来一个字符串,把串中所有大写字写字母,在主函数中输入原字符串和输出变换后的字符串,请编#include void strupr(char str[]); void main() { char text[20]; printf(\请输入字符串:\\n\ printf(\} void count(char str[]) {int i; gets(text); printf(\ strupr(text); printf(\} for(i=0;str[i]!='\\0';i++) void strupr(char str[]) if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) { letter++; else if(str[i]>='0'&&str[i]<='9') digit++; else if(str[i]==32) space++; else others++; } int i; for(i=0;str[i]!='\\0';i++) if(str[i]>='a'&&str[i]<='z') str[i]=str[i]+'A'-'a'; else if(str[i]>='A'&&str[i]<='Z') str[i]=str[i]-'A'+'a'; } 111.编程实现:由键盘输入的任意一组字符中统计出大写字母的 109.请编程实现:将两个字符串s1和s2比较,如果#include int i,resu; char str1[100],str2[200]; printf(\请输入str1:\\n\ gets(str1); printf(\请输入str2:\\n\ gets(str2); void main() { char str[80]; int m=0,n=0,i=0,k=0,c; printf(\请输入一个字符串\\n\ gets(str); for(i=0;str[i]!='\\0';i++) if('A'<=str[i]&&str[i]<='Z') ++m; else if('a'<=str[i]&&str[i]<='z') i=0; ++n; while((str1[i]==str2[i])&&(str1[i]!='\\0')) i++; else if(str1=='\\0'&&str2[i]=='\\0') resu=0; else resu=str1[i]-str2[i]; ++k; printf(\有%d个大写字母,有%d个小写字母:\\n\ c=fmax(m,n); printf(\} int fmax(int x,int y) { int z; z=x>y?x:y; return z; } scanf(\ if(a%3==0&&a%5==0&&a%7==0) printf(\能同时被3,5,7整除\\n\ else if(a%3!=0&&a%5==0&&a%7==0) printf(\能同时被5,7整除\\n\ else if(a%3==0&&a%5!=0&&a%7==0) printf(\能同时被3,7整除\\n\ else if(a%3==0&&a%5==0&&a%7!=0) printf(\能同时被3,5整除\\n\ else if(a%3==0&&a%5!=0&&a%7!=0) 112.定义一个含有30个整形元素的数组,按顺序分别赋予从开始的偶数,然后按顺序每五个数求出一个平均 printf(\2能被3整除\\n\数组中并输出,请编程。 #include { int a[30] ,i,j=0,b[6][5],p,k; int c[6]; for(i=0;i<30;i++) a[i]=2*(i+1); for(i=0;i<30;i++) { printf(\ j++; if(j%5==0) printf(\ for(p=0;p<5;p++) for(k=0;k<6;k++) b[k][p]=a[5*k+p]; for(k=0;k<6;k++) c[k]=(b[k][0]+b[k][1]+b[k][2]+b[k][3]+b[k][4])/5; for(k=0;k<6;k++) {printf(\ printf(\} 113.输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一: (1)能同时被3,5,7整除; (2)能被其中两数(要指出哪两个数)整除; (3)能被其中一个数(要指出哪个数)整除。 #include int a; printf(\请输入一个整数\\n\ else if(a%3!=0&&a%5==0&&a%7!=0) printf(\能被5整除\\n\ else if(a%3!=0&&a%5!=0&&a%7==0) printf(\能被7整除\\n\ else printf(\不能被3,5,7整除\\n\}
正在阅读:
113道C语言10-07
浅谈以任务型教学为主的对外汉语初级口语课的课堂教学07-03
我们学校的小花坛作文350字07-01
降低刑事责任年龄能否遏制未成年人犯罪09-19
扫地作文400字06-19
五年级说明文1000字02-06
从来没有这样伤心过作文600字06-28
2018-2024年中国OLED行业市场监测研究报告(目录) - 图文11-28
感恩老师作文300字07-06
可爱的小鸟作文600字06-24
- Linux复习大汇总
- 浅谈挂网喷混凝土护坡的设计与施工1
- 在镇民兵点验会议上的讲话
- 织机五大运动分析
- 春天花园2号楼计算书
- 电力系统继电保护课后习题解析(第二版) - 张保会 - 尹项根主编(实用版)
- 九年级英语全册Unit4Iusedtobeafraidofthedark单元综合测试题2(新版)人教新目标版
- 恶劣天气活动方案
- 德力西CDJ1-Z3系列数字式电机软起动器2012年1月(第二版)
- 微观经济学试题1 答案
- 消防安全专项治理工作小结
- 哈工大数电答案
- 中国现代文学史课程作业4
- 摄影复习题
- 第4课 普遍联系与人际和谐 - 图文
- 五年级科学下册第2单元《形状与结构》测试卷苏教版
- 如何做好办公室工作及待人接物时需注意的细节
- 村民道德评议会规程
- 高二化学-选修四-电离平衡水解-测试卷
- 铁西第二小学使用学乐云教学平台经验介绍