C语言题目Word下载.docx
《C语言题目Word下载.docx》由会员分享,可在线阅读,更多相关《C语言题目Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
count(text);
letter:
%d,digit:
%d,space:
%d,others:
%d\n"
letter,digit,space,others);
}voidcount(charstr[]){inti;
for(i=0;
str!
='
\0'
;
i++)if((str>
a'
&
str<
z'
)||(str>
A'
Z'
))letter++;
elseif(str>
0'
9'
)digit++;
elseif(str==32)space++;
elseothers++;
3.输入一个正整数求出它是几位数;
输出原数和位数。
intdigit;
Pleaseinputnumbers:
Numbers:
digit:
digit);
i++)if(str>
4.输入一个正整数,输出原数并逆序打印出各位数字。
voidinvertLongInt(long);
voidmain(){unsignedlongiNumber;
Pleaseinputanumber:
%ld"
iNumber);
Theinputnumberis:
%ld\n"
iNumber);
Theinversenumberis:
"
invertLongInt(iNumber);
}voidinvertLongInt(longx){if(x>
=0&
x<
=9)printf("
x);
else{printf("
%d"
x%10);
invertLongInt(x/10);
}}
5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。
将结果输出。
7.求1!
+2!
+3!
+……+20!
,将结果输出。
voidmain(){floats=0,t=1;
intn;
for(n=1;
n<
=20;
n++){t=t*n;
s=s+t;
}printf("
1!
=%e\n"
s);
8.打印以下图案:
***************#include<
voidmain(){inti,j;
Thepictureis:
staticcharpicture[4][7]={{'
'
'
*'
},{'
},{'
*'
}};
i<
=3;
i++){for(j=0;
j<
=6;
j++)printf("
%c"
picture[j]);
9.打印以下图案:
**********#include<
charpicture[4][4]={{'
10.求下列试子的值:
1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
voidmain(){floatsum=1.0,t,s=1;
inti;
for(i=1;
=100;
i++){t=s/i;
sum=sum+t;
s=-s;
1-1/2+1/3-1/4+……+1/99-1/100=%5.4f\n"
sum);
11.打印出100~999之间的所有水仙花数。
voidmain(){inti,j,k,n;
100~999之间的所有水仙花数are:
for(n=100;
1000;
n++){i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)printf("
%d"
n);
12.求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。
voidmain(){inta,n,i=1,sn=0,tn=0;
a,n=:
a,&
n);
while(i<
=n){tn=tn+a;
sn=sn+tn;
a=a*10;
++i;
a+aa+aaa+…+aa…a=%d\n"
sn);
13.打印以下图案:
****************************#include<
voidmain(){chara[7]={'
};
inti,j,k;
charspace='
4;
i++){printf("
"
for(j=1;
=i;
space);
for(k=0;
k<
7;
k++)printf("
a[k]);
14.打印以下图案:
1121123211234321
15.打印以下图案:
1234321123211211
16.编写一个统计学生成绩程序,完成以下功能:
输入4个学生的2门课成绩;
求出全班的总平均分,将结果输出。
#defineN4structstudent{charnum[3];
charname[4];
floatscore[2];
floatavr;
}stu[N];
voidmain(){inti,j;
floatsum,average;
N;
i++)/*输入数据*/{printf("
inputscoresofstudent%d:
i+1);
name:
%s"
stu.name);
for(j=0;
2;
j++){printf("
score%d:
j+1);
%f"
stu.score[j]);
average=0;
/*计算*/for(i=0;
i++){sum=0;
j++)sum+=stu.score[j];
stu.avr=sum/2;
average+=stu.avr;
}average/=N;
Namescore1score2average\n"
%5s%10s"
stu.num,stu.name);
%9.2f"
stu.score[j]);
%8.2f\n"
stu.avr);
average=%5.2f\n"
average);
17.打印以下图案:
*************************#include<
voidmain(){chara[5]={'
5;
18.给出年、月、日,计算该日是该年的第几天。
voidmain(){intsum_day(int,int);
intleap(intyear);
intyear,month,day,days;
inputdate(year,month,day):
%d,%d,%d"
year,&
month,&
day);
%d/%d/%d"
year,month,day);
days=sum_day(month,day);
if(leap(year)&
month>
=3)days=days+1;
isthe%dthdayinthisyear.\n"
days);
}intsum_day(intmonth,intday){intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
month;
i++)day+=day_tab;
return(day);
}intleap(intyear){intleap;
leap=year%4==0&
year%100!
=0||year%400==0;
return(leap);
19.求一个3*3的整型矩阵对角线元素之和。
将原矩阵和求出的和输出。
voidmain(){floata[3][3],sum=0;
inti,j;
请输入元素:
3;
i++)for(j=0;
j++)scanf("
a[j]);
i++)sum=sum+a;
对角线之和是:
%6.2f\n"
%5.2f"
a[j]);
20.求一个4*3的矩阵各行元素的平均值;
将原矩阵和求出的平均值全部输出。
voidmain(){inta[4][3],s[4],i,j,k;
*(a+i)+j);
for(i=0;
i++){k=0;
j++)k+=a[j];
第%d行的平均值是%d"
i+1,k);
21.求一个3*4的矩阵各列元素的平均值;
22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。
voidmain(){inta[3][5],s[3],i,j,k;
i++){*(s+i)=*(*(a+j));
j++)if(*(s+i)<
*(*(a+i)+j))*(s+i)=*(*(a+i)+j);
Line=%dMax=%d"
j,s[j]);
23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。
i++){*(s+i)=*(*(a+i));
Row=%dMax=%d"
i,s);
24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。
#defineN10#defineM10voidmain(){inta[N],i,j,k,max,m,n;
%d%d"
m,&
m;
n;
n-1;
j++){if(a[j]<
=a[j+1])max=a[j+1];
elsemax=a[j];
}k=max;
}for(i=0;
m-1;
i++){if(k<
=k[i+1])max=k[i+1];
elsemax=k;
max);
25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。
#defineN10voidmain(){inta[N][N],i,j,k,n;
i++){for(j=i+1;
j++){if(a[j]==a[j])k=1;
elsek=0;
}}if(k=0)printf("
bushi"
elseprintf("
shi\n"
26.有一篇文章,有三行文字,每行有80个字符。
要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。
voidmain(){inti,j,big=0,sma=0,num=0,spa=0,oth=0;
chartext[3][80];
请输入行%d:
80&
text[j]!
j++){if(text[j]>
text[j]<
)big++;
elseif(text[j]>
)sma++;
)num++;
elseif(text[j]=='
)spa++;
elseoth++;
}}printf("
大写字母:
big);
小写字母:
sma);
数字:
num);
空格:
spa);
其它:
oth);
27.将20个整数放到一维数组中,输出该数组的最大值和最小值。
voidmain(){inti,j,min,max,a[21];
请输入数据:
a[%d]="
i);
a);
}for(i=1;
=19;
i++){min=i;
for(j=2;
j++)if(a[min]>
a[min]=a[j];
i++){max=i;
j++)if(a[max]<
a[max]=a[j];
最大数为:
a[max]);
最小数为:
a[min]);
28.将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。
voidmain(){inti,j,min,max,a[16],m,n;
=15;
=14;
m=I,n=j}printf("
最大数下标为:
%d,%d\n"
m,n);
29.将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。
string.h>
#defineN10voidmain(){inti,n;
charstr1[N],str2[N];
gets(str1);
for(n=0;
n++){i=2*n;
str2[n]=str1;
}puts(str1);
puts(str2);
30.编写一个程序,将两个字符串连接起来,不要使用strcat函数。
voidmain(){charstr1[20],str2[20];
inti=0,j=0;
请输入字符串1:
str1);
请输入字符串2:
str2);
while(str1!
)i++;
while(str2[j]!
)str1[i++]=str2[j++];
str1='
合并之后的字符串为:
%s\n"
31.编写一个程序,将字符数组a中的全部字符复制到字符数组b中。
不要使用strcpy函数。
voidmain(){chara[40],b[40];
请输入a:
a);
=strlen(a);
i++)b=a;
b:
b);
32.编写一个程序,找出3个字符串中的最大者,将它输出。
voidmain(){charstring[20];
charstr[3][20];
i++)gets(str);
if(strcmp(str[0],str[1])>
0)strcpy(string,str[0]);
elsestrcpy(string,str[1]);
if(strcmp(str[2],string)>
0)strcpy(string,str[2]);
最大的字符串是:
\n%s\n"
string);
33.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。
例如:
1转换成Monday,7转换成Sunday。
voidmain(){inta;
输入一个整数:
if(a==1)printf("
Monday\n"
elseif(a==2)printf("
Tuesday\n"
elseif(a==3)printf("
Wendesday\n"
elseif(a==4)printf("
Thursday\n"
elseif(a==5)printf("
Friday\n"
elseif(a==6)printf("
Saturday\n"
elseif(a==7)printf("
Sunday\n"
错误\n"
34.编写程序,输入两