C语言程序设计题目复习
- 将数组{9,6,5,4,1}逆序输出
#include<stdio.h>
int main()
{
int a[5]={9,6,5,4,1},b[5];
printf("原始数据为:\n");
for(int i=0;i<5;i++)
printf("%d\n",a[i]);
for(int i=0;i<5;i++){
b[4-i]=a[i];
}
printf("逆序数为:\n");
for(int i=0;i<5;i++){
printf("%d\n",b[i]);
}
}
- 计算a+b
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",(a+b));
return 0;
}
- 计算a+b (要求:多行输入 分行输出)
#include<stdio.h>
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)==2){
printf("%d\n",(a+b));
}
return 0;
}
或者输入换成 !=EOF 也是可以哒
#include<stdio.h>
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n",(a+b));
}
return 0;
}
- 求最大公约数(辗转相除法)
#include<stdio.h>
int main()
{
int u=32,v=26;
while(v!=0){
int temp=u%v;
u=v;
v=temp;
}
printf("%d\n",u);
return 0;
}
- 将ASCII码转化为字母
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
printf("%c\n",n);
}
return 0;
}
- 判断素数
#include<stdio.h>
#include<math.h>
int isPrime(int n){
int i,limit,flag=1;
if(n<=1)
flag=0;
else if(n==2)
flag=1;//2是素数
else if(n%2==0)
flag=0;//是2的倍数则不是素数
else{//除了1和数字本身外还有其他因数则不是素数
limit=sqrt(n)+1;
for(i=3;i<=limit;i+=2){
if(n%i==0){
flag=0;
break;
}
}
}
return flag;//返回最终判断值
}
int main()
{
int i,count;
count=0;
for(i=100;i<=200;++i){//输出100~200之间的素数
if(isPrime(i)){//根据自定义函数做出判断
printf("%6d",i);
++count;
if(count%8==0)
printf("\n");//每行输出8个素数
}
}
return 0;
}
- 判断闰年
#include<stdio.h>
int isLeapYear(int y){
return (y%4==0&&y%100!=0||(y%400==0));
}
int main(){
int year;
while(scanf("%d",&year)!=EOF){
if(isLeapYear(year))
printf("是闰年\n");
else
printf("是平年\n");
}
return 0;
}
- 斐波那契数列第N项值
#include<stdio.h>
int fib(int n){
if(n==0||n==1)
return n;
else
return fib(n-1)+fib(n-2);
}
int main(){
int n;
printf("请输入斐波那契数列的下标\n");
scanf("%d",&n);
printf("斐波那契数列第%d项的值为:%d\n",n,fib(n));
return 0;
}
- 判断回文数
#include<stdio.h>
int isPalindrome(int number){
int temp,remainder,result=0;
temp=number;
while(temp!=0){
remainder=temp%10;//一直取最末位数字
result=result*10+remainder;
temp=temp/10;
}
return (number==result);
}
int main(){
int number;
scanf("%d",&number);
if(isPalindrome(number))
printf("是回文数\n");
else
printf("不是回文数\n");
}
- 三个数中最大值
#include<stdio.h>
#define MAX2(a,b)((a)>(b)?(a):(b))
#define MAX3(a,b,c)MAX2(MAX2(a,b),c)
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d\n",MAX3(a,b,c));
return 0;
}