admin 管理员组文章数量: 887021
2024年1月26日发(作者:自动计算结果的软件)
1. 从键盘输入一个大写字母,要求改用小写字母输出,并输出与这个小写字母相邻的两个字母及它们的ASCII码的值
样例输入:B
样例输出:b a c
98 97 99
测试输入: D
测试输出: d c e
100 99 101
#include
int main()
{
char s1,s2,s3;
int a,b,c;
scanf("%c",&s1);
s1=s1+32;
s2=s1-1;
s3=s1+1;
a=s1;
b=s2;
c=s3;
printf("%c %c %cn",s1,s2,s3);
printf("%d %d %dn",a,b,c);
return 0;
}
2. 输入两个整数,并将其中较大的显示出来。
样例输入:5 4
样例输出:max=5
测试输入:2 8
测试输出:max=8
#include
int main()
{
int a,b,max=0;
scanf("%d%d",&a,&b);
max=a;
if(a
max=b;
printf("%dn",max);
return 0;
}
3. 输入a,b,c三个整型变量的值,输出其中的最小值。
样例输入:5 4 8
样例输出:4
测试输入:2 6 8
测试输出:2
#include
int main()
{
int a[3],i,j,t;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
printf("%dn",a[0]);
return 0;
}
4. 输入年号y,月份m,输出该年该月天数。
样例输入:2004 2
样例输出:29
测试输入: 2015 2
测试输出: 28
#include
int main()
{
int y,m;
scanf("%d%d",&y,&m);
switch(m)
{
case 1:
printf("30n");break;
case 2:
{
if((y%4==0&&y%100!=0)||(y%400==0))
printf("29n");
--
精选文库
2
精选文库
}
else
printf("28n");break;
}
case 3:
printf("31n");break;
case 4:
printf("30n");break;
case 5:
printf("31n");break;
case 6:
printf("30n");break;
case 7:
case 8:
printf("31n");break;
case 9:
printf("30n");break;
case 10:
printf("31n");break;
case 11:
printf("30n");break;
case 12:
printf("31n");break;
}
return 0;
5. 输入若干非0整数,直到输入0时停止,要求输入的整数最多不超过20个,统计其中正数的个数,负数的个数。
样例输入:5 4 8 -2 6 -9 7 3 -1 9 0
样例输出:posn=7,negn=3
测试输入: 9 -8 2 -6 8 6 -7 -3 1 -5 0
测试输出: posn=5,negn=5
#include
int main()
{
int a[20],n=0,c=0,b=0,i;
while((getchar())!='0')
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
n=n+1;
if(a[i]==0)
break;
}
-- 3
for(i=0;i { if(a[i]>0) c=c+1; if(a[i]<0) b=b+1; } printf("posn=%d,negn=%dn",c,b); return 0; } 6. 从键盘上输入m的值,判断其是否素数 样例输入:7 样例输出:7 is a prime number 测试输入: 9 测试输出: is not a prime number #include int main() { int m,i,flag=1; scanf("%d",&m); for(i=2;i if(m%i==0) { flag=0; break; } if(flag==1) printf("%dis a prime numbern",m); else printf("%dis not a prime numbern",m); return 0; } -- 精选文库 4 7.打印如下图形到屏幕上,打印行数n由键盘输入。(直角三角形) * * * * * * * * * * * * * * * 样例输入:4 样例输出: * * * * * * * * * * * * * * * #include int main() { int i,n,j; scanf("%d",&n); for(i=0;i<=n+1;i++) { for(j=1;j<=n+1-i;j++) printf(" "); for(j=1;j<=i;j++) printf("*"); printf("n"); } return 0; } 8. 请输入10个整数,并将其由小到大排序,然后将排序后的结果输出到屏幕上。排序 样例输入:5 4 8 2 6 0 7 3 1 9 样例输出:0 1 2 3 4 5 6 7 8 9 测试输入: 9 7 6 5 2 3 1 8 4 0 测试输出: 0 1 2 3 4 5 6 7 8 9 #include int main() { int a[10],i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); -- 精选文库 5 for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } for(i=0;i<10;i++) printf("%d ",a[i]); printf("n"); return 0; } 9. 输入一句英文,按单词分行输出. 样例输入: spring summer fall winter 样例输出: spring summer fall winter 测试输入: We are students 测试输出: We are students #include int main() { char s[100]; int i,n=0; gets(s); for(i=0;s[i]!='0';i++) { if(s[i]==' ') s[i]='n'; n++; } s[n]='0'; puts(s); return 0; } -- 精选文库 6 10.输入六个双精度的数,求出其中负数的平均值(保留4位小数) #include int main() { double a[6],n=0,s=0,m; int i; for(i=0;i<6;i++) scanf("%lf",&a[i]); for(i=0;i<6;i++) if(a[i]<0) { s=s+a[i]; n=n+1; } m=s/n; printf("%.4lfn",m); return 0; } 11.输入一亇数组,以0结束,求出所有负数的平均值。 #include int main() { int a[100]; int i; double m,n=0,s=0,ave; for(i=0;i<100;i++) { scanf("%d",&a[i]); if(a[i]==0) { m=i; break; } } for(i=0;i if(a[i]<0) { s=s+a[i]; n=n+1; } ave=s/n; printf("%lfn",ave); return 0; } -- 精选文库 7 精选文库 12.输入一亇字符串,将下标为奇数的字符选出来,将其按ASCALL码升序排列。 #include int main() { char s[100],s2[100],t; int i,n,j=0,q; gets(s); for(i=0;s[i]!='0';i++) { if((i%2)!=0) { s2[j]=s[i]; j++; } } s2[j]='0'; for(i=0;i for(q=i;q { if(s2[i]>s2[q]) { t=s2[i]; s2[i]=s2[q]; s2[q]=t; } } puts(s2); return 0; } 13.输入一个n,k,n为十进制数字,将其转换为k进制输出(k为大于等于2小于等于9的整数). #include int main() { int n,k,m,t,s,i; int a[100]; scanf("%d%d",&n,&k); m=n; t=n; for(i=0;i<100;i++) { m=m/k; t=t-m*k; if(m!=0) -- 8 精选文库 { a[i]=t; t=m; } else { a[i]=t; t=m; break; } } s=i; for(i=s;i>=0;i--) printf("%d",a[i]); printf("n"); return 0; } 14.输入一个字符串,将其奇数下标的字符移动到下一个奇数下标的位置。最后一个奇数位上的数字平移到第一个奇数下标处。 #include int main() { char s[100],a[100]; int i,j=0,q=0; gets(s); for(i=0;s[i]!='0';i++) { if((i%2)!=0) { a[j]=s[i]; j++; } } a[j]='0'; j=0; for(i=0;s[i+2]!='0';i++) if((i%2)!=0) { s[i+2]=a[j]; j++; } s[i+2]='0'; s[1]=a[j]; -- 9 精选文库 } 15. puts(s); return 0; 编写程序,从键盘输入一个字符串,并将字符串中的小写字母都改为相应的大写字母,其他字符不变。 标准输入:23efHI4why80NO 标准输出:23EFHI4WHY80NO #include int main() { char s[100]; int i; gets(s); for(i=0;s[i]!='0';i++) if(s[i]>='a'&&s[i]<='z') s[i]=s[i]-32; s[i]='0'; puts(s); return 0; } 16. 编写程序,从键盘输入一个字符串ss,并将ss中所有下标为偶数的位置上的字母转换为小写,(若该位置上不是字母,则不转换)。 标准输入:ABC4efGHS 标准输出:aBc4efgHs #include int main() { char ss[100]; int i; gets(ss); for(i=0;ss[i]!='0';i++) if((i%2)==0) if(ss[i]>='A'&&ss[i]<='Z') ss[i]=ss[i]+32; ss[i]='0'; puts(ss); return 0; } -- 10 精选文库 17.编写程序,从键盘输入两个字符串str1和str2,并将字符串str2接在str1后面(不得用字符串处理函数),样例输入的第一行是先读入整数n,表示有几组字符串(两个字符串为一组),然后读入字符串。 标准输入:2 aaaaaa bbbbb cccc dsdsds 标准输出:aaaaaabbbbb Ccccdsdsds #include void fun(char s1[],char s2[]) { int i,j,q; for(i=0;s1[i]!='0';i++) ; for(j=i,q=0;s2[q]!='0';j++,q++) { s1[j]=s2[q]; } s1[j]='0'; } int main() { int n; char s[100][100]; int i,j; scanf("%dn",&n); for(i=0;i<2*n;i++) gets(s[i]); for(i=0;i<2*n;i++) if((i%2)==0) { fun(s[i],s[i+1]); puts(s[i]); } return 0; } 18.编写程序,从键盘输入m值,根据m,计算下列公式t的值(m为int型,t为double型),结果保留小数点4位,公式:t=1-1/2+1/3-1/4+……(-1)(m+1)/m(最后一项分子为-1的m+1次方) 标准输入:5 -- 11 精选文库 标准输出:0.7833 #include int main() { int m; double t=0,n,q=-1,i; scanf("%d",&m); for(i=1;i<=m;i++) { q=q*(-1); n=q/i; t=t+n; } printf("%.4lfn",t); return 0; } 19.编写程序,输入一个字符串str,依次取出字符串中的所有的字母,形成新的字符串,并取代原字符串。 标准输入::123dfsad43mln&*d 标准输出:dfsadmlnd #include int main() { char str[100],s[100]; int i,j; gets(str); for(i=0,j=0;str[i]!='0';i++) if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='B')) { s[j]=str[i]; j++; } for(i=0;i str[i]=s[i]; str[i]='0'; puts(str); return 0; } 20.编写一个程序,从键盘输入一个三位数,判断这个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。例如:输入123,结果显示“no!” 标准输入: 123 #include -- 12 精选文库 int main() { int n; int a,b,c; scanf("%d",&n); a=n%10; b=n/10%10; c=n/100; if(a+c==b) printf("yes!n"); else printf("no!n"); return 0; } 21.编写一个程序,输入一个5×5的二维数组a,实现:使数组对角线及右上半三角元素中的值全部置成0。注意每个数字后都有空格,每行输出都有换行 标准输入: 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 标准输出: 0 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 2 3 0 0 1 2 3 4 0 #include int main() { int a[5][5]; int i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); for(i=0;i<5;i++) for(j=0;j<5;j++) if((i==j)||(j>i)) a[i][j]=0; for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%d ",a[i][j]); -- 13 精选文库 } printf("n"); } return 0; 22.编写一个程序,从键盘输入含有n个实数的一维数组,求此一维数组的平均值,结果保留两位小数, 其中n为int型,数组为double型。 标准输入5 1.1 2.2 3.3 4.4 5.5 标准输出 3.30 #include int main() { int n,i; double a[100],s=0,ave; scanf("%d",&n); for(i=0;i scanf("%lf",&a[i]); for(i=0;i { s=s+a[i]; } ave=s/(double)n; printf("%.2lfn",ave); return 0; } 23.编写一个程序,从键盘输入一个含有n个整数的一维数组,并移动一维数组中的内容,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。 样例输入分3行,第一行为整数的个数n,第二行为n个整数,第三行为下标p。 标准输入: 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 9 标准输出: 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 #include int main() { int a[100],b[100]; int n,j,i,p; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); scanf("%d",&p); for(i=p,j=0;i -- 14 精选文库 } { b[j]=a[i]; j=j+1; } for(i=0;i { b[j]=a[i]; j=j+1; } for(i=0;i { a[i]=b[i]; printf("%d ",a[i]); } printf("n"); return 0; 24.移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(不含p)的数组元素平移到数组的最后。例如,输入:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后数组内容应为4,5,6,7,8,9,10,1,2,3。 #include int main() { int a[100],b[100]; int n,j,i,p; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); scanf("%d",&p); for(i=p,j=0;i { b[j]=a[i]; j=j+1; } for(i=0;i { b[j]=a[i]; j=j+1; } for(i=0;i { a[i]=b[i]; printf("%d ",a[i]); -- 15 精选文库 } } printf("n"); return 0; 25.从键盘输入一个字符串并保存在字符strl中,把字符串中strl下标为偶数的字符保存在字符串strl2中并输出。 例如,当strl=“cdefghij",则strl2="cegi".标准输入:whatisit,标准输出waii #include int main() { char str1[100],str12[100]; int i,j; gets(str1); for(i=0,j=0;str1[i]!='0';i++) if(i%2==0) { str12[j]=str1[i]; j++; } str12[j]='0'; puts(str12); return 0; } 26.)编写一个程序,程序定义一个5*5二维数组,二维数组题目中给出,编写程序,求数组周边元素的平方和。数组a为{0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1}求出结果为310.样例输出占2行,1行为整形数据,其值为平方和,另一行为回车符。 标准输入0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1 标准输出310 #include int main() { int a[5][5]; int i,j,s=0; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); for(j=0;j<5;j++) s=s+a[0][j]*a[0][j]; for(i=1;i<5;i++) s=s+a[i][0]*a[i][0]; for(j=1;j<5;j++) -- 16 精选文库 } s=s+a[4][j]*a[4][j]; for(i=1;i<4;i++) s=s+a[i][4]*a[i][4]; printf("%dn",s); return 0; 27.从键盘输入3*3的矩阵的各元素之值,输出主对角线上元素之积。 #include int main() { int a[3][3]; int i,j,s=1; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) s=s*a[i][j]; printf("%dn",s); return 0; } 28.编写一个程序,从键盘输入一个长整数,从低位开始取出长整型数中奇数位上的数,依次构成一个人新长整数,并输出。 标准输入 4576235 标准输出4725 #include int main() { char s[100],a[100]; int i,n,j,q; gets(s); for(i=0;s[i]!='0';i++) ; n=i; for(i=n-1,j=0,q=1;i>=0;i--) { if((q%2)!=0) { a[j]=s[i]; j++; q++; } else -- 17 精选文库 q++; } a[j]='0'; for(i=j-1;i>=0;i--) printf("%c",a[i]); printf("n"); return 0; } 29. 键盘输入两个正整数m和n,在屏幕上输出m和n的所有公约数与各公约数之和 #include int main() { int m,n,min; int i; int s=0; scanf("%d%d",&m,&n); if(m>n) min=n; else min=m; for(i=2;i if((min%i)==0) { printf("%d ",i); s=s+i; } printf("n"); printf("%dn",s); return 0; } 30. 数组a、b中各存放一个字符串,将b中所有字符插入a中,a中字符按递增顺序排放并输出 #include int main() { char a[100],b[100],t; int i,j,q; gets(a); gets(b); for(i=0;a[i]!='0';i++) ; -- 18 精选文库 for(j=i,q=0;b[q]!='0';q++,j++) { a[j]=b[q]; } a[j]='0'; for(i=0;i for(q=i+1;q { if(a[i] { t=a[i]; a[i]=a[q]; a[q]=t; } } puts(a); return 0; } 31.从键盘输入一个含多个单词的字符串,字符串前后有空格若干,与单词之间有若干空格,删除字符串前后的所有空格和单词之间的空格(单词之间保留一个空格)然后输出结果字符串。 #include int main() { char a[100],s[100]; int i,j,q,word=0; gets(a); for(i=0;a[i]!='0';i++) { if(a[i]==' ') continue; else break; } q=i; for(i=q,j=0;a[i]!='0';i++) { if(a[i]!=' ') { word=0; s[j]=a[i]; j++; } -- 19 精选文库 } } if(a[i]==' ') { if(word==0) { word=1; s[j]=' '; j++; } else continue; } s[j]='0'; puts(s); return 0; 31.从键盘输入两个由二进制数组成的字符串(小于32位),转化为无符号十进制数,相加并输出 #include int main() { char s[100],a[100]; int m=0,n=0,p,q,k; int i,j,t; gets(s); gets(a); for(i=0;s[i]!='0';i++) ; p=i; t=0; for(i=p-1;i>=0;i--) { k=s[i]-48; for(j=1;j<=t;j++) k=k*2; t=t+1; m=m+k; } for(i=0;a[i]!='0';i++) ; q=i; t=0; for(i=q-1;i>=0;i--) -- 20 精选文库 { k=a[i]-48; for(j=1;j<=t;j++) k=k*2; n=n+k; t=t+1; } printf("%d %d %d ",m,n,m+n); printf("n"); return 0; } 32某项比赛10人参加,依此输入其成绩,然后按原顺序输出成绩,名次。#include int main() { int a[10],b[10],c[10]; int i,t,j; for(i=0;i<10;i++) { scanf("%d",&a[i]); b[i]=a[i]; } for(i=0;i<10;i++) for(j=i+1;j<10;j++) { if(b[i] { t=b[i]; b[i]=b[j]; b[j]=t; } } for(i=0;i<10;i++) for(j=0;j<10;j++) if(a[i]==b[j]) c[i]=j+1; for(i=0;i<10;i++) printf("%d %d n",a[i],c[i]); return 0; } -- 21 精选文库 33. 编写一个程序,输入一个字符串str和一个字符串ch,判断ch是否与str中的某个字符相同,若有相同的,输出str;若无相同的,将其插在字符串的最后输出 #include int main() { char str[100]; char ch; int i,flat=0; gets(str); scanf("%c",&ch); for(i=0;str[i]!='0';i++) { if(str[i]==ch) { flat=1; break; } } if(flat==1) { for(i=0;str[i]!='0';i++) printf("%c",str[i]); printf("n"); } else { for(i=0;str[i]!='0';i++) ; str[i]=ch; str[i+1]='0'; puts(str); } return 0; } 34输入n,计算n的五次方的值,输出该值的个位,十位,百位之和。# include int main () { int n,i,a,b,c,s; long m=1; scanf ("%d",&n); for (i=1;i<=5;i++) -- 22 m=m*n; printf ("%ldn",m); a=m%10; b=m/10%10; c=m/100%10; s=a+b+c; printf ("%dn",s); return 0; } 35 10个正数,输出平均值并输出小于平均值且与平均值嘴接近的数#include int main() { double a[10],b[10],s=0,ave,min,t; int i,j,q; for(i=0;i<10;i++) { scanf("%lf",&a[i]); s=s+a[i]; } ave=s/10.0; for(i=0,j=0;i<10;i++) if(a[i] { b[j]=a[i]; j++; } for(i=0;i { for(q=i+1;q if(b[i]>b[q]) { t=b[i]; b[i]=b[q]; b[q]=t; } } printf("%lfn",ave); printf("%lfn",b[j-1]); return 0; } -- 精选文库 23 36,1.将一个字符串内的数字全部提到字符串前面输出 #include #include int main() { char s[100]; int i; gets(s); for(i=0;s[i]!='0';i++) if(s[i]>='0'&&s[i]<='9') printf("%c",s[i]); for(i=0;s[i]!='0';i++) if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') printf(“%c",s[i]); printf(“n”); return 0; } 37输入n个单词,每个单词最后一个字母变大写 #include int main() { char s[100]; int i,j,word=0; gets(s); for(i=0;s[i]!='0';i++) ; s[i]='0'; j=i; for(i=0;i<=j;i++) { -- 精选文库 24 精选文库 } if((s[i]==' ')||(s[i]=='0')) s[i-1]=s[i-1]-32; } puts(s); return 0; 38输入5个字符串,判断其中最长的输出,其余的在后面用*补齐输出,使其长度与最长的保持一致。 #include int main() { char s[5][100]; int i,j,max; int a[5]={0}; for(i=0;i<5;i++) gets(s[i]); for(i=0;i<5;i++) for(j=0;s[i][j]!='0';j++) a[i]=a[i]+1; max=a[0]; for(i=1;i<5;i++) if(max max=a[i]; for(i=0;i<5;i++) for(j=a[i];j s[i][j]='*'; for(i=0;i<5;i++) { s[i][max]='0'; puts(s[i]); } return 0; } 39输入一个数,输出距离它最近的一个素数 #include int sushu(int a) { int i,flag=1;
版权声明:本文标题:c语言编程练习题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706230630h504568.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论