本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.从键盘输入多个整数,输入0结束(0不参加运算),打印他们的最大值,最小值以及平均值
#include <stdio.h>
int main(){
int i,max,min,cnt=0,sum=0;
double average=0;
scanf("%d",&i);
max=i;
min=i;
while(i){
cnt++;
sum+=i;
if(max<i)
max=i;
else if(min>i)
min=i;
scanf("%d",&i);
}
average=sum*1.0/cnt;
printf("max is %d,min is %d,average is %f",max,min,average);
return 0;
}
2.从键盘输入一个整数(int范围内,位数不定),求出其逆序表示的整数并输出。 样例输入: 12345 样例输出 54321
#include <stdio.h>
int main(){
int a,cnt=0,i=0,sum=0;
scanf("%d",&a);
while(a){
cnt++;
i=a%10;
sum=sum*10+i;
a/=10;
} printf("%d",sum);
return 0;
}
3.Write a program, input a letter in upper case, then print as follows: (input E): ABCDE in the middle is aligned as a column.
#include <stdio.h>
int main()
{
int i,j,k,l;
char a='A';
for(i=1;i<=5;i++){
for(j=1;j<=5-i;j++)
printf(" ");
for(k=1;k<=i;k++)
printf("%c",a++);
a--;
for(l=k-2;l>0;l--){
a--;
printf("%c",a);}
printf("\n");
}
return 0;
}
4.编写程序验证歌德巴赫猜想: 一个不小于6的偶数可以表示成两个素数之和。如6=3+3,8=3+5,10=3+7,…… 在主函数中输入一个大于6的偶数n,例如34,输出如下形式:34=3+31。
#include <stdio.h>
#include <math.h>
void main(){
int n,i,j,isp=1;
do{scanf("%d",&n);}while(n%2==1||n<6);
for(i=3;i<=n/2;i+=2){
for(j=2;j<=sqrt(i);j++){
if(i%j==0)
isp=0;
}
if(isp==1){
for(j=2;j<=sqrt(n-i);j++){
if((n-i)%j==0)
isp=0;
}
}
if(isp==1)
printf("%d=%d+%d",n,i,n-i);
}
}
5.给定不超过6的正整数a,考虑从a开始的连续4个数字,请输出所有由它们组成的无重复数字的3位数,要求从小到大,整数间以空格分离。
#include <stdio.h>
void main(){
int a,i,j,k;
do{scanf("%d",&a);}while(a>6||a<1);
for(i=a;i<=a+3;i++){
for(j=a;j<=a+3;j++){
if(i==j)
continue;
for(k=a;k<=a+3;k++){
if(i==k||j==k)
continue;
printf("%d%d%d ",i,j,k);
}
}
}
}