113道C语言

更新时间:2023-10-07 14:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。 printf(\ #include void main() {

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 int digit; void main() {

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 void main() {

printf(\ printf(\ } }

5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入 int i,j; printf(\

6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。将结果输出。 char picture[4][4]={{'*'}, 7.求1!+2!+3!+??+20!,将结果输出。 #include void main() {

float s=0,t=1; int n;

for(n=1;n<=20;n++) {

t=t*n; s=s+t;

}

printf(\\\n\}

8.打印以下图案: * *** ***** ******* #include void main() {

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 void main() {

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 void main() {

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 void main() {

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 void main()

15. 打印以下图案: 1234321 12321 121 1 1234321

16.编写一个统计学生成绩程序,完成以下功能:输入4个学生#include #define N 4 struct student {

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 void main()

{

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 void main() {

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 void main()

{

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 void main() {

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 void main()

{

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 void main() {

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 s1>s2,输出一个正数;s1 void main() {

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 void main()

{

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 void main() {

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\}

本文来源:https://www.bwwdw.com/article/tl3d.html

Top