目录
3.用三种循环while、for、do while 求1-100的和
5.成绩分级:输入你的成绩90分以及以上等级为A,80-90分等级为B,70-80等级为c,70-60等级为D,60以下等级为E。
6.编写一个程序,用while循环,该程序读取整数,直到输入0,输入终止后,程序应该报告输入的偶数总数(不包括0),偶数平均值,输入的奇数总数以及奇数的平均值。
12.a++与++a,先从右到左运算,再从左到右赋值。a++先赋值再运算,++a先运算再赋值。
25.输入一个100 - 1000的数,判断该数是否为水仙花数。
27.将下列按照国家名字排序 china japan italy frech egland
1.打印直角三角形
#include <stdio.h>
int main()
{
int i, j;
int line;
printf("请输入三角形的行数:");
scanf("%d", &line);
for (i = 0; i <= line; i++) //控制行数
{
for (j = 0; j <= i; j++) //控制*的个数
{
printf("*");
}
printf("\n");
}
return 0;
}
效果如下
需要理解for循环、for循环嵌套每一步的执行过程,以及*如何限制,“\n”换行该如何打印。
2.判断2000年到2500年有多少次闰年。
#include <stdio.h>
int main()
{
int year = 2000;
int count = 0;
for(; year <= 2500;year++){
if(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)){
printf("%d年是润年\n",year);
count++;
}else{
printf("%d年非闰年\n",year);
}
}
printf("2000-2500年有%d次闰年\n",count);
return 0;
}
需要知道如何判段该年是不是闰年,并且计数,且理解for循环
3.用三种循环while、for、do while 求1-100的和
do while
#include <stdio.h>
int main()
{
int i = 0;
int sum = 0;
do{
sum += i;
i++;
}while(i <= 100);
printf("thr sum of 100 is %d\n ",sum);
return 0;
}
while
#include <stdio.h>
int main()
{
int i = 0;
int sum = 0;
while(i<=100){
sum += i;
i++;
}
printf("thr sum of 100 is %d\n ",sum);
return 0;
}
for
#include <stdio.h>
int main()
{
int i = 0;
int sum = 0;
for(;i <= 100; i++){
sum += i;
}
printf("thr sum of 100 is %d\n ",sum);
return 0;
}
很简单,熟悉几个while、for、do while的格式即可。
4. 已知三个数a、b、c找最大值放在max中。
#include <stdio.h>
int main()
{
int a,b,c,max;
printf("请输入三个数:");
scanf("%d %d %d",&a,&b,&c);
if(a > b && a > c){
max = a;
printf("三个数中%d最大",a);
}
if(b > a && b > c){
max = b;
printf("三个数中%d最大",b);
}
if(c > b && c > a){
max = c;
printf("三个数中%d最大",c);
}
return 0;
}
5.成绩分级:输入你的成绩90分以及以上等级为A,80-90分等级为B,70-80等级为c,70-60等级为D,60以下等级为E。
#include <stdio.h>
int main()
{
float score;
printf("请输入您的成绩:");
scanf("%f",&score);
if(score < 0 || score > 100){
printf("socre is invalid\n");
return 0;
}
if(score >= 90){
printf("您的成绩等级为:A");
}else if(score < 90 && score >= 80){
printf("您的成绩等级为:B");
}else if(score < 80 && score >= 70){
printf("您的成绩等级为:C");
}else if(score < 70 && score >= 60){
printf("您的成绩等级为:D");
}else{
printf("您的成绩等级为:E");
}
return 0;
}
#include <stdio.h>
int main()
{
float score;
printf("请输入您的成绩:");
scanf("%f",&score);
if(score < 0 || score > 100){
printf("socre is invalid\n");
return 0;
}
int grade;
grade = score / 10;
switch(grade){
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n");
break;
case 6:
printf("D\n");
break;
default:
printf("E\n");
}
return 0;
}
6.编写一个程序,用while循环,该程序读取整数,直到输入0,输入终止后,程序应该报告输入的偶数总数(不包括0),偶数平均值,输入的奇数总数以及奇数的平均值。
#include <stdio.h>
int main()
{
int num,sum1,sum2,count1,count2;
float avg1,avg2;
count1 = 0;
count2 = 0;
printf("请输入数:\n");
scanf("%d",&num);
while(num != 0){
if(num % 2 == 0){
sum1 += num;
count1++;
}else{
sum2 += num;
count2++;
}
scanf("%d",&num);
}
while(num == 0){
avg1 = 1.0*sum1/count1;
avg2 = 1.0*sum2/count2;
printf("输入的偶数有%d个,偶数平均值为%f\n",count1,avg1);
printf("输入的奇数有%d个,奇数平均值为%f\n",count2,avg2);
break;
}
return 0;
}
7.遍历打印出数组的地址,以及数组中各元素的地址。
#include <stdio.h>
int main()
{
int i,a[6];
int j,b[6];
printf("start address = %p\n",a);
for(i = 0;i < sizeof(a) / sizeof(int);i++){
printf("%p ",&a[i]);
}
printf("\ntotal:%d bytes\n",sizeof(a));
printf("start address = %p\n",b);
for(i = 0;i < sizeof(b) / sizeof(int);i++){
printf("%p ",&b[i]);
}
printf("\ntotal:%d bytes\n",sizeof(b));
return 0;
}
8.找出二维数组中最大的元素。
#include <stdio.h>
int main()
{
int max,i,j;
int a[3][4] = {
{66,99,88,44},{110,120,336}};
max = a[0][0];
for(i = 0; i < 2; i++){
for(j = 0;j < 3; j++){//遍历二维数组
if(a[i][j] > a[0][0]){//遍历的元素和第一个元素比较,谁大留谁值,再找后面的元素比较
max = a[i][j];
}
}
}
printf("a二维数组中最大的元素是:%d,%d行,%d列。",max,i,j);
return 0;
}
9.大小写字母转换
#include <stdio.h>
int main(int argc, char *argv[])
{
char ch1,ch2;
printf("请输入您要转换的字符:");
scanf("%c",&ch1);
if(ch1 >= 65 && ch1 <= 90){
ch2 = ch1 + 32;
printf("%c",ch2);
}
if(ch1 >= 97 && ch1 <= 122){
ch2 = ch1 - 32;
printf("%c",ch2);
}
return 0;
}
10.打印平行四边形
#include <stdio.h>
int main()
{
int line,i,j,k;
printf("请输入边:\n");
scanf("%d",&line);
for(i = 0; i <= line;i++){
for(k = 0; k <= i-1;k++){
printf(" ");
}
for(j = 0; j <= line; j++){
printf("*");