7. 大小写字母转换问题:
将从键盘读入的小写字母转换成大写字母向屏幕输出,同时输出该大写字母的ASCII码值和所占的内存空间大小。(输入输出中的◊代表一个空格)
输入一行:小写字母
输出两行:第一行为提示输入小写字母;第二行输出转换后的大写字母、对应ASCII码值和在内存中占多少字节
程序运行示例:
please input alowercase: a↙
A 65 1
#include<stdio.h>
void main()
{char ch,x;
ch=getchar();
ch=ch-32;
x=sizeof(ch);
printf("%c %d %x",ch,ch,x);
}
8. 请使用short int型的变量计算两个7位十进制整数的和,要求使用尽可能少的变量。
**输入格式要求:"a = %3hd%4hd, b = %3hd%4hd"
**输出格式要求:"a + b = %d"
程序运行示例如下:
a = 1234567,b =7654321
输出
a + b = 8888888
#include<stdio.h>
Void main()
{short int a,b,c,d;
Int e;
Scanf("a= %3hd%4hd, b = %3hd%4hd",&a,&b,&c,&d);
E=a*10000+b+c*10000+d;
Printf("a+ b = %d",e);
}
9. 简单计算器。请编写一个程序计算表达式:data1 op data2的值。其中op为运算符+-*/。
**输入格式要求:"%f%c%f" 提示信息:"Enter yourexpression:"
**输出格式要求:"%.2f+%.2f=%.2f\n" "%.2f-%.2f=%.2f\n" "%.2f*%.2f=%.2f\n" "%.2f/%.2f=%.2f\n"
"Division by zero\n" "Unknown operator.\n"
程序运行示例如下:
Enter yourexpression:6*8
6.00*8.00=48.00
程序运行示例如下:
Enter yourexpression:9/0
Division by zero
#include<stdio.h>
voidmain()
{printf("Enteryour expression:");
floata,b,c;
charop;
scanf("%f%c%f",&a,&op,&b);
switch(op)
{case'+':c=a+b;printf("%.2f+%.2f=%.2f\n",a,b,c);break;
case'-':c=a-b;printf("%.2f-%.2f=%.2f\n",a,b,c);break;
case'*':c=a*b;printf("%.2f*%.2f=%.2f\n",a,b,c);break;
case'/': { if(b!=0)
{c=a/b;printf("%.2f/%.2f=%.2f\n",a,b,c);}
elseprintf("Division by zero\n");break;}
default:printf("Unknown operator.\n");}
}