当前位置: 首页 > news >正文

C语言程序设计经典例题100道(四)

  1. 编写C语言程序,从键盘输入一个整数n,然后判断整数n是几位数,并输出到屏幕上。如果整数n小于1,则输出“非法数据”。

#include<stdio.h>
int main()
{int n;int counter=0;printf("请输入一个整数:");scanf("%d",&n);if(n<1){printf("非法数据");return 1;}printf("%d\n",n);while(n>=1){n/=10;counter++;}printf("n是%d位整数。",counter);return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入一个整数n,如果整数n大于0,则输出n是整数以及绝对值是几位数;如果整数n小于0,则输出n是负整数以及绝对值是几位数;如果整数n等于0,则输出n是整数0.

#include<stdio.h>
int main()
{int n;int counter=0;printf("请输入一个整数:");scanf("%d",&n);printf("%d是",n);if(n>0){printf("正整数");}else if(n<0) {n=-n;printf("负整数"); }else{printf("整数零");return 0;}while(n>=1){n/=10;counter++;}printf(",其绝对值是%d位整数。",counter);return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入一个整数n,然后输出n行符号“*”到屏幕中,每行符号的数量由1递增到n。如果整数n不满足条件“",则输出”非法数据“。

#include<stdio.h>
int main()
{int n;int x,y;printf("请输入一个整数:");scanf("%d",&n);if((n<1)||(n>80)){printf("非法数据");return 1;}for(x=1;x<=n;x++){for(y=1;y<=x;y++){printf("*");}printf("\n");}return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入一个整数n,然后输出n行符号”*“到屏幕中,每行符号的数量由1递增到2n-1.如果整数n不满足条件”“,则输出”非法数据“。

#include<stdio.h>
int main()
{int n;int x,y;printf("请输入一个整数:");scanf("%d",&n);if((n<1)||(n>400)){printf("非法数据");return 1;}for(x=1;x<=n;x++){for(y=1;y<=(n-x);y++){printf(" ");}for(y=1;y<=(2*x-1);y++){printf("*");}printf("\n");}return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入两个整数m和n(使用空格分隔),然后输出m和n之间的所有素数到屏幕中。每行显示5个素数,每列右对齐,并统计在区间[m,n]中素数的数量。如果整数m和n不满足条件”“,则输出“非法数据”。

#include<stdio.h>
int main()
{int n,m,i,j;int is_prime;int counter=0;printf("请输入2个整数[m n]:");scanf("%d%D",&m,&n);if((m<2)||(m>n)){printf("非法数据");return 1;}for(i=m;i<=n;i++){is_prime=1;for(j=2;j<i;j++){if(i%j==0){is_prime=0;break;}}if (is_prime){printf("%12d",i);counter++;if (counter%5==0) {printf("\n");}}
}printf("\n区间[%d %d]的素数有%d个。\n",m,n,counter);return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入一个整数n,然后统计整数n所对应的二进制数中”1“的数量,并输出到屏幕中。如果整数n小于1,则输出”非法数据“。

#include<stdio.h>
int main()
{int n;int counter=0;printf("请输入一个整数:");scanf("%d",&n);if(n<1){printf("非法数据");return 1;}printf("十进制整数%d",n);while(n>=1){if(n%2==1){counter++;}n/=2;}printf("对于的二进制数中有%d个'1'",counter);return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入一个整数n,然后把n分解质因数,并输出到屏幕中。如果整数n小于2,则输出”非法数据“。

分解质因数:任何一个合数都可以写成若干个质数(素数)相乘的形式。例如:

2000=

2005=

#include<stdio.h>
int main()
{int n;int i=2;printf("请输入一个整数:");scanf("%d",&n);if(n<2){printf("非法数据");return 1;}printf("%d=",n);while(i<n){if(n%i==0){n/=i;if(n>1){printf("%dx",i);continue;}if(n==1){printf("%d\n",i);}}i++;}if(i>=n){printf("%d\n",n);    }return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入2个整数m和n(使用空格分隔),然后对m和n之间(包括m和n)的所有整数分解质因数,并输出到屏幕中。每行显示1个整数分解。如果整数m和n不满足条件”“,则输出”非法数据“。

#include<stdio.h>
#include<math.h>
int main()
{int n,m,i,j,t;printf("请输入2个整数[m n]:");scanf("%d%d",&m,&n);if((m<2)||(m>n)){printf("非法数据");return 1;}for(j=m;j<=n;j++){t=j;i=2;printf("%d=",t);while(i<=sqrt(t)){if(t%i==0){t/=i;if(t>1){printf("%dx",i);continue;}if(t==1){printf("%d\n",i);}}i++;}if(i>sqrt(t)){printf("%d\n",t);continue;}}return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入5个整数,然后以相反的顺序输出。

#include<stdio.h>
int main()
{int number[5];int i;printf("请输入5个整数:\n");for(i=0;i<5;i++){printf("第%d个整数:",i+1);scanf("%d",&number[i]); } printf("输出:\n");for(i=4;i>=0;i--){printf("第%d个整数:%d\n",i+1,number[i]);} return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入10个整数,然后先输出奇数编号的整数,再输出偶数编号的整数。

#include<stdio.h>
int main()
{int number[10];int i;printf("请输入10个整数:\n");for(i=0;i<10;i++){printf("第%d个整数:",i+1);scanf("%d",&number[i]); } printf("输出:\n");for(i=0;i<10;i+=2){printf("第%02d个整数:%d\n",i+1,number[i]);} for(i=1;i<10;i+=2){printf("第%02d个整数:%d\n",i+1,number[i]);}return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入不超过10个字符,然后逆序输出。

#include<stdio.h>
#define N 10
int main()
{char str[N];int i;printf("输入:");for(i=0;i<N;i++){scanf("%c",&str[i]);if(str[i]=='\n'){break;}}printf("输出:");while(--i>=0){printf("%c",str[i]);}return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入日期,然后输出该日期是一年中的第几天(假定年份是平年,即2月有28天)。如果输入的日期不存在,则输出”非法日期“。

#include<stdio.h>
#define N 12
int main()
{int days[N]={31,28,31,30,31,30,31,31,30,31,30,31};int month,day;int day_of_year=0;int i;printf("请输入日期(月—日):");scanf("%d-%d",&month,&day);if((month<1)||(month>N)||(day<1)||(day>days[month-1])){printf("非法日期");return 1; }for(i=0;i<month-1;i++){day_of_year+=days[i];}day_of_year+=day;
printf("%d月%d日是平年的第%d天。",month,day,day_of_year);
return 0;
}

运行结果

  1. 编写C语言程序,从键盘输入某比赛的10个评委给出的评分,分值是0~100的整数(包含0和100).然后输出这10个评分中的最高分。如果输入的评分超出0~100的范围,则重新输入该评分。如果有多个最高评分,则输出其中一个最高分。

#include<stdio.h>
#define N 10
int main()
{int score[N];int max=0;int sum=0;int i=0;printf("请输入%d个评分:\n",N);while(i<N){printf("第%02d个评分:",i+1);scanf("%d",&score[i]);if((score[i]<0)||(score[i]>100)){continue ;}else{if(score[i]>score[max]){max=i;}i++;}}printf("最高评分:\n");printf("第%02d个评分:%d\n",max+1,score[max]);return 0;
}

运行结果

  1. 编写C语言程序,随机产生10个评委给出的评分,分值是0~100的整数(包含0和100).然后输出这10个评分并标注出一个最大值和一个最小值,最后计算除去一个最大值和一个最小值后剩余8个评分的平均值,保留1位小数。如果有多个最大值或最小值,则只标注其中一个。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
int main()
{int score[N];int max=0;int min=0;int sum=0;int i=0;srand(time(NULL));for(i=0;i<N;i++){score[i]=rand()%101;if(score[i]<score[min]){min=i;}if(score[i]>score[max]){max=i;}}if(min==max){max++;}for(i=0;i<N;i++){printf("第%02d个评分:%3d",i+1,score[i]);if(i==min){printf(",最低分\n"); }else if(i==max){printf(",最高分\n");}else{printf("\n");sum+=score[i];} }printf("平均分:%.1f\n",(double)sum/(N-2));return 0;
}

运行结果

  1. 编写一个C语言函数,函数名是get_max,返回值是int类型,参数列表中有2个int类型变量x和y作为形式参数。函数get_max()的功能是按照给定的整数变量x和y比较两者中的最大值,并返回该最大值。函数get_max()不允许从键盘输入数据,也不允许输出数据到屏幕中。

#include<stdio.h>
int get_max(int x,int y);
int main()
{int number1,number2,max;printf("第1个整数:");scanf("%d",&number1) ;printf("第2个整数:");scanf("%d",&number2) ;max=get_max(number1,number2);printf("%d和%d之间的最大值是:%d\n",number1,number2,max);return 0;
}int get_max(int x,int y)
{int max;if(x>y){max=x;}else{max=y;}return max;
}

运行结果

http://www.xdnf.cn/news/819145.html

相关文章:

  • 性能优化之YUICompressor压缩JS、CSS
  • 未能找到你安装了radmin服务器,Radmin
  • 服务器如何端口映射?
  • 全网最全!分子材料计算模拟软件Materials Studio安装教程(附安装包),以及使用教程!...
  • Framework-Res.apk 反编译、编译、打包、替换详细教程
  • 大疆RoboMaster技术总监:我是如何成为一名机器人工程师的
  • Ubuntu 11.10简介
  • QeePHP:一切从头开始
  • 小凡模拟器(DynamipsGUI)打不开的简单解决方法
  • VirtualBox使用教程
  • php学习
  • 内存卡无法格式化怎么办?这5个办法可以帮你
  • 搭建私有云的5大主流方案
  • 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)
  • Ubuntu安装QQ教程
  • 主流数据库连接池配置信息梳理
  • Spring MVC DataBinder
  • Windows11系统win32kbase.sys文件丢失问题
  • 程序员入门教程【非常详细】从零基础入门到精通,看完这一篇就够了 !_程序员怎么学
  • 神奇的运放--你都了解了吗?
  • 自己收集整理的微软错误代码大全(中文和英文)
  • 五个资源超多的资源网站 每一个都是精品
  • AI 大模型+数字营销
  • SQL SELECT DISTINCT 语句
  • 2011热门论坛排行top100
  • request.getcontextPath() 详解(转)
  • 计算机软驱的连接方式,usb软驱怎样 usb软驱的全面介绍【详解】
  • TCP的流量控制
  • bat批处理 if 命令示例详解
  • 最全行车记录仪主控芯片及方案排名TOP15、行车记录仪终端品牌厂商代表产品和方案排名TOP50