第一题(输入与输出)
假设需要你输入两个整数 a 和 b,计算a除于b的整数商和余数,并输出它们。
示例:
输入:15 2
输出:7 1
答案:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
printf("输入:");
scanf("%d %d",&a,&b);
int c = a / b;
int d = a % b;
printf("输出:%d %d\n ",c,d);
return 0;
}
第二题(ASCII码)
要求转换以下ASCII码为对应字符并输出他们。
73,32,99,97,110,32,100,111,32,105,116,33
答案:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int arr[] = {73,32,99,97,110,32,100,111,32,105,116,33};
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组个数
//sizeof(arr) -计算的是数组的总大小,单位是字节
//sizeof(arr[0]) -计算的是数组元素的大小
while (i < sz)
{
printf("%c", arr[i]);
i++;
}
return 0;
}
第三题
描述:
输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。
数据范围:年份满足1990< y <2015, 月份满足 1 <= m <= 12, 日满足1 < d <30
输入描述:
输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。
输出描述:
三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0.
示例:
输入:20130225
输出:year = 2013
month = 02
date = 25
备注:
通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据,通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0
答案代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int year = 0;
int month = 0;
int day = 0;
scanf("%4d%2d%2d",&year,&month,&day);
//输出
printf("year =%d\n", year);
printf("month=%02d\n",month);//%2d表示打印两位整数,%02d表示打印两位数,不够就补齐两位数
printf("day=%02d\n",day);
return 0;
}
第四题(基本信息的输入输出)
现要求输入某学生的学号以及语文,数学,c语言3科的成绩(保留两位小数),学号与成绩之间用英文分号隔开,成绩之间用英文逗号隔开
输出示例:
输入:202024101123; 80.5, 90.45, 90.00
输出:The each subject score of No.202024101123 is 80.5, 90.45, 90.00
答案:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int id = 0; //学生的编号
float c = 0.0f;//c语言的成绩
float cha = 0.0f;//语文的成绩
float mach= 0.0f;//数学的成绩
scanf("%d,%f,%f,%f",&id,&c,&cha,&mach);
printf("the student subject score of No.%d is %.2f,%.2f,%.2f.\n",id,c,cha,mach);
//%.2f表示保存小数点后两位
return 0;
}
第五题(printf的返回值)
写一个程序输出printf(”Hello world!“)的返回值
输出描述:
包括两行
第一行为:”Hello world“
第二行为printf(”Hello world“)调用后的返回值。
答案:
#include <stdio.h>
int main()
{
int n = printf("Hello world!");//printf的返回值为整数,就是打印字符的个数
printf("\n%d\n", n);
return 0;
}
第六题
现要求输入四个整数(用空格隔开),并输出四个整数中的最大值
示例:
输入:7 8 9 5
输出:9
答案有通俗一点的也有利用循环的
答案1:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a=0, b=0, c=0, d=0;
scanf("%d %d %d %d",&a,&b,&c,&d);
if (a < b && c < b)
if (b > d)
printf("%d", b);
else
printf("%d", d);
if (a > b && a > c)
if (a > d)
printf("%d", a);
else
printf("%d", d);
if (c > b && c > a)
if (c > d)
printf("%d", c);
else
printf("%d", d);
return 0;
}
答案2:(这个方法就比较通用,无论有多少个数要判断大小都可以)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = 0;
int arr[4] = {0};
while (i < 4)
{
scanf("%d",&arr[i]);
i++;
}
//找最大值
//假设第一个元素就是最大值
int max = arr[0];
i = 1;
while (i < 4)
{
if (arr[i] > max)
max = arr[i];
i++;
}
printf("%d\n", max);
return 0;
}
答案3:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int max = 0;
scanf("%d", &max);
int i = 1;
int n = 0;
while (i < 4)
{
scanf("%d", &n);
if (n > max)
max = n;
i++;
}
printf("%d\n",max);
return 0;
}
第六题(计算球体的体积)
输入一个球体的半径,计算其体积,其中球体体积公式为V=4/3*pi*r^3 其中pi=3.1415926.
结果保留三位小数
示例:
输入:3.0
输出:113.097
答案:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
float pi = 3.1415926f;
float r = 0.0f;
scanf("%f", &r);
float v = 0.0f;
v = 4 / 3.0 * pi *r*r*r;
printf("%.3f\n", v);
return 0;
}
答案2:(同double类型也可以)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
double pi = 3.1415926;
double r = 0.0;
scanf("%lf", &r);
double v = 0.0;
v = 4 / 3.0 * pi * r * r * r;
printf("%.3lf\n", v);
return 0;
}