C语言程序题分类.docx
《C语言程序题分类.docx》由会员分享,可在线阅读,更多相关《C语言程序题分类.docx(20页珍藏版)》请在冰豆网上搜索。
C语言程序题分类
C语言程序题分类
整除类型
1. 以下程序的功能是:
输出三位正整数中能被13整除的数
main()
{intn;
for(
(1);
(2);n++)
if(n%13!
=0)(3);
elseprintf("%d\n",n);}
2. 以下的程序功能是:
求101至999之间所有能被13整除的整数之和和个数
main()
{inti,cnt;
floatsum=0;
i=101;cnt=0;
while(
(1))
{if(
(2))
{sum+=i;cnt++;}
(3);}
printf("sum=%f,cnt=%d\n",sum,cnt);}
3. 以下程序的功能是:
输出100以内能被3整除且个位数为6的所有整数
#include
main()
{inti,j;
for(i=0;
(1);i++)
{j=
(2);
if((3))continue;
elseprintf("%d\n",j);
}}
4. 以下程序是功能是:
输出1-1000之间满足用3除余2,用5余3,用7余2的数,且一行只打印五个数
#include
main()
{inti=1,j=0;
do
{if(
(1))
{printf("%4d",i);
j=j+1;
if(
(2))printf("\n");}
(3);}while(i<1000);}
5. 以下程序是实现1至200之间既能被3又能被5整除的数,每行4个
main()
{inti,n=0;
for(i=1;i<=200;i++)
if(
(1))
{printf("%d\t",i);
(2);
if((3))printf("\n");
}
printf("\n");}
数据的分离操作
1. 以下程序的功能是:
实现累加输入变量x各个数位之和
main()
{intx,s=0;
scanf("%d",&x);
while(
(1))
{s+=
(2);
(3);}
printf("s=%d\n",s);}
2. 以下程序的功能是:
求变量n各位数字平方和
#include
main()
{intn,sum=0;
scanf("%d",&n);
while(
(1))
{sum+=
(2);
(3);}
printf("sum=%d\n",sum);}
3. 以下程序是输出1至100之间每位数的乘积大于每位数的和的数
#include
main()
{inti,n,s,t;
for(i=1;i<=100;i++)
{t=1;s=0;
(1);
while(
(2))
{t*=n%10;
s+=n%10;
(3);
}
if(t>s)printf("%d\n",i);}
4. 写出程序的运行结果
main()
{intnum,i;
scanf("%d",&num);
while(num!
=0)
{i=num%10;
printf("%d",i);
num/=10;}
printf("\n");}
当输入27356时,显示___________
5. 写出程序的运行结果
main()
{intn,m=0;
scanf("%d",&n);
while(n!
=0)
{m+=n%10;
n/=10;}
printf("m=%d\n",m);}
输入12324时,则显示_____________
输入34235时,则显示_____________
6. 写出程序的运行结果
intfun(intn)
{intnum=1;
do
{num*=n%10;
n/=10;}while(n!
=0);
returnnum;}
main()
{intn;
scanf("%d",&n);
printf("%d\n",fun(n));}
输入1234,则显示______________
输入1305,则显示______________
累加运算
1. 以下程序的功能是计算:
1+2+3+4……n
main()
{intn,i;
int
(1);
scanf("%d",&n);
for(i=1;i<=n;
(2))
s+=(3);
printf("s=%d\n",s);}
2. 以下程序的功能是计算:
1+2+3+4……n
main()
{intn;
int
(1);
scanf("%d",&n);
while(n>0)
{s+=
(2);
(3);}
printf("s=%d\n",s);}
3. 以下程序的功能是计算:
1-2+3-4……n
main()
{inti=1,j=1,s=0,n;
scanf("%d",&n);
for(;
(1);i++)
{s+=
(2);
(3);
}
printf("s=%d\n",s);
}
4. 以下程序的功能是计算:
1-3+5-7……-99+101
main()
{inti=1,j=1,s=0;
while(
(1))
{s+=
(2);
i+=2;
(3);
}
printf("s=%d\n",s);
}
5. 以下程序的功能是:
计算1+1/2+……+1/n
main()
{intn;
float
(1);
scanf("%d",&n);
while(n>0)
{s+=
(2);
(3);}
printf("s=%f\n",s);}
6. 通过形参n计算:
1+1/2+1/3+1/4……1/n
floatfun(intn)
{
}
main()
{intn;
floats;
scanf("%d",&n);
s=fun(n);
printf("s=%f\n",s);}
7. 以下程序的功能是计算:
1-1/2+1/3-1/4……1/n
main()
{inti=1,j=1,n;
floats=0;
scanf("%d",&n);
for(;
(1);i++)
{s+=
(2);
(3);
}
printf("s=%f\n",s);
}
8. 以下程序的功能是计算:
1+1/3+1/5+…1/(2*n-1)
main()
{inti,n;
floats=0;
scanf("%d",
(1));
for(i=1;
(2);i++)
s+=(3);
printf("s=%f\n",s);
}
9. 以下程序的功能是计算:
1-1/3+1/5…1/(2*n-1)
main()
{inti=1,j=1,n;
floats=0;
scanf("%d",&n);
for(;
(1);i++)
{s+=
(2);
(3);
}
printf("s=%f\n",s);
}
10. 以下程序的功能是计算:
1!
+2!
+3!
+…n!
main()
{inti,n;
longt=1,s=0;
scanf("%d",&n);
for(i=1;
(1);i++)
{
(2);
(3);}
printf("s=%ld\n",s);}
找最大或最小元素
1. 以下程序的功能是:
输入10个整数到一维数组,输出其中最大数
main()
{inta[10],i,max;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
(1)=a[0];
for(i=1;i<10;i++)
if(
(2))(3);
printf("max=%d\n",max);}
2. 以下程序的功能是:
输入10个整数到一维数组,输出其中最大数
main()
{inta[10],i,max;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
(1)=0;
for(i=1;i<10;i++)
if(
(2))(3);
printf("max=%d\n",a[max]);}
3. 返回数组a中的最大值
intfun(inta[],intn)
{inti,max;
;
for(i=1;iif(a[i]>max);
;
}
main()
{inta[]={3,7,2,9,4,5},max;
max=fun(a,6)
printf("max=%d\n",max);
}
4. 返回数组a中的最大值
intfun(inta[],intn)
{inti,max;
;
for(i=1;iif();
returnmax;
}
main()
{inta[]={3,7,2,9,4,5},max;
max=fun(a,6)
printf("max=%d\n",a[max]);
}
5. 输出数组a中的最大值
voidfun(inta[],intn,int*max)
{inti;
;
for(i=1;iif();
}
main()
{inta[]={3,7,2,9,4,5},max;
fun(a,6,&max)
printf("max=%d\n",max);
}
6. 输出数组a中的最大值
voidfun(inta[],intn,int*max)
{inti;
;
for(i=1;iif();
}
main()
{inta[]={3,7,2,9,4,5},max;
fun(a,6,&max)
printf("max=%d\n",a[max]);
}
7. 以下程序的功能是:
输入10个整数到一维数组,输出其中最大数和最小数
main()
{inta[10],i,max,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
(1);
for(i=1;i<10;i++)
{if(a[i]>max)
(2);
if((3))
min=a[i];}
printf("max=%d,min=%d\n",max,min);}
8. 以下程序的功能是:
键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入
main()
{floatx,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while(
(1))
{if(x>amax)
(2);
if(xscanf("%f",&x);}
printf("amax=%f,amin=%f\n",amax,amin);}
数组元素的逆序
1. 以下程序是将一个数组中的值逆序存放,例如:
1,2,3,4,5.要求改为:
5,4,3,2,1
main()
{inta[10],i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=9;
(1);i++,j--)
{t=a[i];
(2);
(3);}
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
2. 以下程序是将一个数组中的值逆序存放,例如:
1,2,3,4,5.要求改为:
5,4,3,2,1
#defineN10
main()
{inta[N],i,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<
(1);i++)
{t=a[i];
(2);
(3);
}
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");}
3. 以下程序的功能是使3×3矩阵行列互换
main()
{inta[3][3]={1,2,3,4,5,6,7,8,9},i,j,t;
for(i=0;i<3;i++)
for(j=0;
(1);j++)
{
(2);
(3);
a[j][i]=t;
}
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
4. 将一个字符串逆序
main()
{chars[80],ch;
inti,j;
gets(s);
for(i=0,j=
(1);i{ch=s[i];
(2);
(3);}
puts(s);}
5. 将一个字符串逆序
voidfun(chars[])
{
}
main()
{chars[80];
printf("Pleaeinputastring:
");
gets(s);
fun(s);
printf("s=%s\n",s);
}
统计符合条件元素个数
1. 以下程序的功能是:
输入一行字符,统计数字字符出现的次数
#include
main()
{charch;
intn=
(1),i;
while((ch=getchar())!
='\n')
if(
(2))
(3);
printf("n=%d\n",n);
}
2. 以下程序的功能是:
输入一行字符,依次统计小写英文字母、大写英文字母、数字字符和其他字符出现的次数
main()
{charstr[80],i;
intn[5];
scanf("%s",str);
for(i=0;i<4;i++)n[i]=0;
for(i=0;str[i]!
='\0';i++)
if(
(1))n[0]++;
elseif(
(2))n[1]++;
elseif((3))n[2]++;
elsen[3]++;
for(i=0;i<4;i++)
printf("n[%d]=%d\n",i,n[i]);
}
3. 以下程序的功能是:
统计正整数的各个数位中零的个数,并求出各位中数字的最大者
main()
{intn,count,max,t;
count=0;
max=0;
scanf("%d",&n);
do
{t=
(1);
if(t==0)count++;
elseif(
(2))max=t;
(3);}while(n!
=0);
printf("count=%d,max=%d\n",count,max);}
4. 以下程序是输入20个整数到一维数组,统计正整数的个数,并计算它们之和
main()
{inta[20],i,sum,count;
sum=count=0;
for(i=0;i<20;i++)
scanf("%d",
(1));
for(i=0;i<20;i++)
if(
(2))
{(3);
sum+=a[i];
}
字母的转换
1. 以下程序的功能是:
将字符串中的小写英文字母改成大写字母
main()
{inti=0;
charstr[80];
scanf("%s",&str);
while(
(1))
{if(
(2))
str[i]-='a'-'A';
(3);
}
printf("%s\n",str);
}
2. 将字符串中的小写字母转换成下一个字母,如果是z就转换a
main()
{inti;
charstr[80];
scanf("%s",&str);
for(i=0;str[i]!
=‘\0’;i++)
{if(
(1))
str[i]=str[i]+1;
elseif(
(2))(3);
}
printf("%s\n",str);
}
3. 将字符串中的小写字母转换成下一个字母,如果是z就转换a
voidfun(chars[])
{
}
main()
{chars[80];
printf("Pleaseinputastring(s):
");
gets(s);
fun(s);
printf("s=%s\n",s);}
4. 将一个字符串中的大写字母转换成它的后五个一个字母,如果是A就转换F,如果是V就转换A.
main()
{inti;
charstr[80];
scanf("%s",&str);
for(i=0;str[i]!
=‘\0’;i++)
{if(str[i]>=‘A’&&str[i]<=‘U’)
str[i]=
(1);
elseif(
(2))(3);
}
printf("%s\n",str);
}
字符串中删除操作
1. 以下程序的功能是:
删除字符串s中的所有非数字字符
voiddele(char*s)
{inti,n=0;
for(i=0;s[i]!
='\0';i++)
if(
(1))
s[
(2)]=s[i];
(3);
}
main()
{charstr[80];
printf("Pleaseinputastring(s):
");
gets(str);
dele(str);
printf("str=%s\n",str);
}
2. 以下程序的功能是:
删除字符串s中的所有数字字符
voiddele(char*s)
{inti,n=0;
for(i=0;s[i]!
='\0';i++)
if(
(1))
s[
(2)]=s[i];
(3);
}
main()
{charstr[80];
printf("Pleaseinputastring(s):
");
gets(str);
dele(str);
printf("str=%s\n",str);
}