scanf(\ j = 0;
for (i = 1; i < 3; i++) {
if (ab(num[j]) < ab(num[i])) {
j = i; } }
printf(\ return 0; }
int ab(int x) {
if (x >= 0) {
return x; }
return - x; }
12. 设某企业2006年的产值为5000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。
程序的运行效果应类似地如图1所示,图1中的50是从键盘输入的内容。
#include < stdio.h > int main(void) {
float chanzhi = 5000, xx; int year = 2006;
printf(\ scanf(\
while ( chanzhi < 10000 ) {
chanzhi = chanzhi * ( 1 + xx / 100 ); year++; }
printf(\ return 0; }
13.编写一程序P2-221.C实现以下功能
从键盘读入一个字符串(最多127个字符),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda。
程序的运行效果应类似地如图1和图2所示,图1中的asdfghjhgfdsa和图2中的asdfghjhgfdsaa是从键盘输入的内容。
#include < stdio.h > #include < string.h > int main( void ) {
int i, j, len; char aa[128];
printf(\ gets(aa);
len = strlen(aa);
for ( i = 0, j = len - 1; i < j; i++, j--) {
if ( aa[i] != aa[j] ) {
break; } }
if ( i >= j ) {
printf(\ } else {
printf(\ }
return 0; }
14. 用scanf输入10个整数(采用int数据类型),计算所有正数的和、负数的和以及10个数的和。
程序的运行效果应类似地如图1所示,图1中的4 6 20 -45 35 56 -23 -4 9 70是从键盘输入的内容。
#include < stdio.h > int main( void ) {
int aa[10], i;
float sum1 = 0, sum2 = 0, sum3 = 0;
printf(\
for ( i=0; i<10; i++ ) {
scanf(\ }
for ( i=0; i<10; i++ ) {
if ( aa[i] > 0 ) {
sum1 = sum1 + aa[i]; } else {
sum2 = sum2 + aa[i]; }
sum3 = sum1 + sum2; }
printf(\ return 0; }
15. 7-732编写一程序P7-732.C实现以下功能,输入3行3列的矩阵,输出所有元素的累加和。 程序的运行效果应类似地如图1所示,图1中的 1 2 3 4 5 6 7 8 9
是从键盘输入的内容。
#include < stdio.h > int main( void ) {
int i, j, aa[3][3], sum = 0;
for ( i = 0; i < 3; i++ ) {
for ( j = 0; j < 3; j++ ) {
scanf(\ } }
for ( i = 0; i < 3; i++ ) {
for ( j = 0; j < 3; j++ ) {
sum = sum + aa[i][j]; } }
printf(\ return 0; }
16. 编写一程序P7-743.C实现以下功能
从键盘输入一串可带空格的字符串,按逆序输出该字符串。注意,程序中不能使用库函数strrev或使用同名的变量、函数、单词。
程序的运行效果应类似地如图1所示,图1中的abc xyz是从键盘输入的内容。
#include < stdio.h > #include < string.h > int main( void ) {
char aa[100], bb[100]; int i, j, len;
printf(\ gets(aa);
len = strlen(aa); bb[len]='\\0';
for ( i = 0, j = len - 1; i < len; i++, j-- ) {
bb[j] = aa[i]; }
printf(\ puts(bb); return 0; }
17. 从键盘输入一个一百分制成绩,如果不在0~100范围内,则要求重新输入数据,直到输入的数据在0~100范围内。将输入的数据转换成等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’,要求使用switch case/default语句,结果赋值给变量grade,并将变量grade的值输出到屏幕上。
注意:变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf(\ input the score(0-100): \、printf(\。
程序的运行效果应类似地如图1所示,图1中的103和55是从键盘输入的内容。
#include < stdio.h > int main( void ) {
float score; char grade;
printf(\ scanf(\
while ( score > 100 || score < 0 ) {
printf(\ scanf(\ }
switch ( ( int ) (score / 10 )) {
case 10: case 9:
grade = 'A'; break;