c语言编写一个程序将这14个要求写进去:1while语句实现求1+2+……+100的和。2随意输入一个整数n求1—n之间的奇数和和偶数和。3求1+2+3+4……+100的和4求n的阶乘5编程序统计并输出200以内所有能同时被7和3整除的数及其数量。6定义一个数组a10并赋初值0~9反序输出。7一个小组学生共10人输入他们的成绩计算并输出小组总成绩及平均成绩。8封装一个函数并且在主函数中进行调用函数
1.求1+2+……+100的和:
#include<stdio.h>
int main() { int i=1,sum=0; while(i<=100) { sum+=i; i++; } printf("1+2+...+100=%d",sum); return 0; }
2.求“1—n”之间的奇数和和偶数和:
#include<stdio.h>
int main() { int n,i,even_sum=0,odd_sum=0; printf("请输入一个整数n:"); scanf("%d",&n); for(i=1;i<=n;i++) { if(i%2==0) //偶数 even_sum+=i; else //奇数 odd_sum+=i; } printf("1-%d之间的奇数和为%d,偶数和为%d\n",n,odd_sum,even_sum); return 0; }
3.求1+2+3+4……+100的和:
#include<stdio.h>
int main() { int i,sum=0; for(i=1;i<=100;i++) { sum+=i; } printf("1+2+...+100=%d",sum); return 0; }
4.求n的阶乘:
#include<stdio.h>
int main() { int n,i,fac=1; printf("请输入一个整数n:"); scanf("%d",&n); for(i=1;i<=n;i++) { fac*=i; } printf("%d的阶乘为%d",n,fac); return 0; }
5.统计200以内所有能同时被7和3整除的数及其数量:
#include<stdio.h>
int main() { int i,count=0; for(i=1;i<=200;i++) { if(i%7==0 && i%3==0) { printf("%d ",i); count++; } } printf("\n200以内所有能同时被7和3整除的数的数量为%d",count); return 0; }
6.定义一个数组a[10],并赋初值0~9,反序输出:
#include<stdio.h>
int main() { int a[10]={0,1,2,3,4,5,6,7,8,9},i; for(i=9;i>=0;i--) { printf("%d ",a[i]); } return 0; }
7.一个小组学生共10人,输入他们的成绩,计算并输出小组总成绩及平均成绩:
#include<stdio.h>
int main() { int i,score,sum=0; float avg; for(i=1;i<=10;i++) { printf("请输入第%d个学生的成绩:",i); scanf("%d",&score); sum+=score; } avg=(float)sum/10; printf("小组总成绩为%d,平均成绩为%.2f",sum,avg); return 0; }
8.封装一个函数并且在主函数中进行调用,函数功能要求:随机输入2个整数作为参数,函数执行结束后返回最大值:
#include<stdio.h> #include<stdlib.h> #include<time.h>
int max(int a,int b);
int main() { int a,b,max_num; printf("请输入两个整数:"); scanf("%d%d",&a,&b); max_num=max(a,b); printf("最大值为%d",max_num); return 0; }
int max(int a,int b) { if(a>b) return a; else return b; }
9.单位转换——厘米转换英寸:
#include<stdio.h>
int main() { float cm,in; printf("请输入厘米数:"); scanf("%f",&cm); in=cm/2.54; printf("%.2f厘米=%.2f英寸",cm,in); return 0; }
10.判断一个数是否是素数:
#include<stdio.h> #include<math.h>
int main() { int n,i,flag=1; //flag=1表示是素数,flag=0表示不是素数 printf("请输入一个正整数:"); scanf("%d",&n); for(i=2;i<=sqrt(n);i++) { if(n%i==0) { flag=0; break; } } if(flag) printf("%d是素数",n); else printf("%d不是素数",n); return 0; }
11.反向输出字符串:
#include<stdio.h>
int main() { char str[100]; int i,len; printf("请输入一个字符串:"); scanf("%s",str); for(len=0;str[len]!='\0';len++); //求字符串长度 printf("反向输出为:"); for(i=len-1;i>=0;i--) { printf("%c",str[i]); } return 0; }
12.从1~100内随机输出5个不重复的数:
#include<stdio.h> #include<stdlib.h> #include<time.h>
int main() { int a[100],i,num,index; srand(time(NULL)); //初始化随机数种子 for(i=0;i<100;i++) { a[i]=i+1; } printf("随机输出的5个不重复的数为:"); for(i=0;i<5;i++) { index=rand()%(100-i); //在剩余的数中随机选取一个数 num=a[index]; //取出这个数 a[index]=a[99-i]; //将这个数与数组最后一个数交换位置 printf("%d ",num); } return 0; }
13.先设定8位数密码,然后使用暴力破解实现8位数密码的破解,并且把破解后的密码输出:
#include<stdio.h> #include<string.h>
int main() { char pwd[9],test[9]="12345678"; int i,j,k,l,m,n,o,p,count=0; //count用来计数破解次数 printf("8位数密码破解开始...\n"); for(i=0;i<10;i++) { pwd[0]=i+'0'; for(j=0;j<10;j++) { pwd[1]=j+'0'; for(k=0;k<10;k++) { pwd[2]=k+'0'; for(l=0;l<10;l++) { pwd[3]=l+'0'; for(m=0;m<10;m++) { pwd[4]=m+'0'; for(n=0;n<10;n++) { pwd[5]=n+'0'; for(o=0;o<10;o++) { pwd[6]=o+'0'; for(p=0;p<10;p++) { pwd[7]=p+'0'; pwd[8]='\0'; //字符串结尾 if(strcmp(pwd,test)==0) { printf("破解成功!密码为%s\n",pwd); return 0; } else { count++; } } } } } } } } } printf("破解失败!(破解次数:%d)",count); return 0; }
14.使用冒泡排序法实现5,81,65,9,10的由低到高的排序:
#include<stdio.h>
int main() { int a[5]={5,81,65,9,10},i,j,tmp; for(i=0;i<4;i++) //外层循环控制轮数 { for(j=0;j<4-i;j++) //内层循环控制每一轮比较次数 { if(a[j]>a[j+1]) { tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } } printf("由低到高排序结果为:"); for(i=0;i<5;i++) { printf("%d ",a[i]); } return 0;
原文地址: https://www.cveoy.top/t/topic/gHZe 著作权归作者所有。请勿转载和采集!