强化训练:
1、编写一个程序,此程序要求输入一个整数,然后打印出从输入的值(含)到比输入的值大10(含)的所有整数值(比如输入5,则输出5到15)。要求在各个输出值之间用空格、制表符或者换行符分开。
#include<stdio.h>
int main()
{
int num;
scanf("%d",&num);
for (int i = num; i <= num+10; i++)
{
printf("%d ",i);
}
return 0;
}
2、写出下面表达式运算后a的值,设原来a=12。设a和n己定义为整型变量。
(1)a+=a //a=24
(2)a-=2 //a=10
(3)a*=2+3 //a=27
(4)a/=a+a //a=13
(5)a%=(n%2),n的值为5 //a=12
(6)a+=a-=a*=a // a=0
3、编写一个程序,该程序要求输入一个float型数并打印概述的立方值。使用你自己设计的函数来计算该值的立方并且将它的立方打印出来。main函数负责把输入的值传递给该函数。
#include<stdio.h>
float Float_x(float y)
{
float temp = y*y*y;
return temp;
}
int main()
{
float x;
scanf("%f",&x);
printf("%f", Float_x(x));
return 0;
}
4、编写一个程序,此程序要求输入天数,然后将该值转换为星期数和天数。例如输入18,则要求输出:
18 days are 2 weeks,4days.
#include<stdio.h>
int main()
{
int day;
int day1, weeks;
printf("请输入天数:\n");
scanf("%d",&day);
weeks = day/7;
day1 = day%7;
printf("%d days are %d weeks,%ddays.\n",day,weeks,day1);
return 0;
}
5、分析并解释以下程序的执行结果。
#include <stdio.h>
int main(void)
{
int a,b,c,d;
a=10;
b=a++;
c=++a,
d=10*a++;
printf(“b,c,d:%d,%d,%d”,b,c,d
return 0;
}
// a = 13 b = 10 c = 12 d = 120
1、编写一个程序,要求用相应的控制流语句往屏幕打印26个小写字母。
#include<stdio.h>
int main()
{
for (int i = 97; i <= 122; i++)
{
printf("%c ",i);
}
return 0;
}
2、编写一个程序,用户输入某个大写字母,产生一个金字塔图案。例如用户输入字母E,则产生如下图案:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
#include<stdio.h>
int main()
{
char num;
int i,j,k;
printf("请输入某个大写字母:\n");
scanf("%c",&num);
if( num >= 'A' && num <= 'Z')
{
for( i = 1; i <= num-64; i++)
{
for( j = 0; j < num-64-i; j++)
{
printf(" ");
}
for( k = 0; k < i; k++)
{
printf("%c",'A'+k);
}
for( k = k-2; k >= 0; k--)
{
printf("%c",'A'+k);
}
printf("\n");
}
}
return 0;
}
3、编写一个程序,该程序读取输入直到遇到#字符,然后报告读取的空格数目、读取的换行符数目以及读取的所有其他字符数目。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0, j = 0, k = 0;
char ch;
printf("请输入字符:\n");
while ((ch = getchar()) != '#')
{
if (ch == ' ')
{
i++;
}
if (ch == '\n')
{
j++;
}
k++;
}
printf("空格数为:%d 换行符数为:%d 其余字符数为:%d\n", i, j, k-i-j);
return 0;
}
4、编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。
#include<stdio.h>
int main(){
int x;
int i=0, j=0;
printf("请输入大于0的整数\n");
scanf("%d",&x);
printf("为你找到0-%d以内的素数如下:\n",x);
printf("%d ",2);
for( i=3; i<=x; i+=2)
{
for( j=2; j<i; j++ )
{
if(i%j==0)
{
break;
}
}
if(j==i)
{
printf("%d ",j);
}
}
return 0;
}
5、输入一个华氏温度,要求输出摄氏温度。要求结果保留2位小数。
转换公式为:c=(5F-32)/9
//华氏度转摄氏度
#include<stdio.h>
int main(){
//celsius(摄氏度) fahr(华氏度)
float celsius;
int fahr;
printf("请输入要转化的华氏度\n");
scanf("%d",&fahr);
celsius = (5.0*(fahr-32.0))/9.0;
printf("华氏度为:%d,摄氏度为:%.2f°C\n",fahr,celsius);
return 0;
}
6、打印如下图案:
米
米米米
米米米米米
米米米米米米米
米米米米米
米米米
米
代码如下:
#include <stdio.h>
int main()
{
int i,j,k;
int num;
printf("请输入菱形的行数:\n");
scanf("%d",&num);
for( i = 1; i <= num; i++)
{
for ( j = 1; j <= num-i; j++)
{
printf(" ");
}
for( k = 0; k < 2*i-1; k++)
{
printf("*");
}
printf("\n");
}
for ( i = num-1; i >= 0; i--)
{
for ( j = 0; j <= num-1-i; j++)
{
printf(" ");
}
for( k = 0; k < 2*i-1; k++)
{
printf("*");
}
printf("\n");
}
return 0;
}