1、写一个程序,从键盘上接收两个整数,输出这两个整数中值大的一个。
#include <stdio.h>
int main(){
// 定义两个变量
int num1,num2;
// 获取键盘上的值
printf("Please input two numbers:\n");
fflush(stdout);
scanf("%d%d",&num1,&num2);
if(num1>num2){
printf("the %d is older than %d",num1,num2);
}
else
printf("the %d is older than %d",num2,num1);
// 判断并输出较大的值
return 0;
}
----------------------------------------------------------
2、分别阅读下面两段程序,分析程序的结果。
// 程序1
#include <iostream>
using namespace std;
int main()
{
int password = 0;
cout << "请输入密码 :";
cin >> password;
if( password == 123456 )
{
cout << "输入正确,可以进行下面的操作." << endl;
}
else
{
cout << "输入错误,程序即将退出." << endl;
}
return 0;
}
描述:当键盘输如的密码为123456时,将打印输出:输入正确,可以进行下面的操作. 当输入的密码不等于123456时,将打印输出:输入错误,程序即将退出。
// 程序2
#include <iostream>
using namespace std;
int main()
{
int password = 0;
cout << "请输入密码 :";
cin >> password;
if( password = 123456 )
{
cout << "输入正确,可以进行下面的操作." << endl;
}
else
{
cout << "输入错误,程序即将退出." << endl;
}
return 0;}
描述:
程序将不能编译通过,判断的条件错误。应该是两个等于号
---------------------------------------------------------------------------
3、写一个程序,接收两个整数a和b,并判断a是否能被b整除,输出判断结果。
/*
* mian.c
*
* Created on: 2013-3-5
* Author: wangyunhe
*/
#include <stdio.h>
int main(){
// 定义两个变量
int a,b;
// 获取键盘上的值
printf("请输入两个输:\n");
fflush(stdout);
scanf("%d%d",&a,&b);
if(a % b == 0){
printf("%d能被%d整除",a,b);
}
else
printf("%d不能被%d整除",a,b);
return 0;
}
------------------------------------------------------------------------------
4、
写一个程序,接收两个数字,判断这两个数字的乘积是否大于等于5000,如果大于则告诉用户大于5000,如果相等则告诉用户等于5000,否则告诉用户小于5000。
/*
* mian.c
*
* Created on: 2013-3-5
* Author: wangyunhe
*/
#include <stdio.h>
int main(){
// 定义两个变量
int num1,num2;
// 获取键盘上的值
printf("请输入两个输:\n");
fflush(stdout);
scanf("%d%d",&num1,&num2);
if(num1 * num2 > 5000){
printf("您输入的两个数的乘积大于5000!");
}
else if(num1 * num2 < 5000){
printf("您输入的两个数的乘积小于5000!");
}
else
printf("您输入的两个数的乘积等于5000!");
return 0;
}
----------------------------------------------------------------------------
5、
(1)银行的自动取款机大概有如下几种操作:存款、取款、查询余额、转账等几种功能。要求用switch语句进行模拟其操作。
(2)由于在这里没有具体的按钮,可以使用数字来模拟用户的选择。例如:可以提示用户"存款请按1"、"取款请按2"、"查询余额请按3"、"转账请按4"、"退出请按5"。来让用户进行选择。
(3)而具体的操作,可以直接在屏幕上输出操作过程即可。例如:当用户选择1后,可以直接在屏幕上打印“正在进行存款操作.”即可,其它操作类似。
/*
* mian.c
*
* Created on: 2013-3-5
* Author: wangyunhe
*/
#include <stdio.h>
int main(){
// 定义变量
int num;
//显示提示
printf("尊敬的用户您好!请选择您要进行的操作:\n存款请按1\n取款请按2\n查询余额请按3\n转账请按4\n退出请按5\n");
fflush(stdout);
// 获通过键盘键入数字
scanf("%d",&num);
switch(num){
case 1:
printf("请放入您要存入的钞票……");
break;
case 2:
printf("请输入您要取出的钞票数量……");
break;
case 3:
printf("正在查询您的余额……");
break;
case 4:
printf("请输入您要转入的账号……");
break;
case 5:
printf("感谢您的使用,请取出卡!");
break;
}
return 0;
}
--------------------------------------------------------------------------------
6、从键盘上接收一个字符,判断它到底是哪种字符:数字,小写字母,大写字母,其他字符。
/*
* mian.c
*
* Created on: 2013-3-5
* Author: wangyunhe
*/
#include <stdio.h>
int main(){
//定义变量
char ch;
// 显示提示
printf("请输入您要判断的字符:\n");
fflush(stdout);
// 获取值
scanf("%c",&ch);
// 利用对应的ASCII值进行判断并输出
if(ch>='a' && ch <= 'z'){
printf("您输入的%c是小写字母!",ch);
}
else if(ch>='A' && ch <= 'Z'){
printf("您输入的%c是大写字母!",ch);
}
else if(ch >= '0'){
printf("您输入的%c是数字!",ch);
}
else
printf("您输入的%c是其他字符!",ch);
return 0;
}
-------------------------------------------------------------------------------------
7、写一个程序,能够判断从键盘上输入的年份是否是一个闰年。
/*
* mian.c
*
* Created on: 2013-3-5
* Author: wangyunhe
*/
#include <stdio.h>
int main(){
// 定义一个变量year
int year=0;
// 显示提示
printf("请输入您要查询的年份:\n");
fflush(stdout);
//获取年份
scanf("%d",&year);
// 通过能否被4整除判断是平年还是闰年
if(year % 4 == 0){
printf("%d年是闰年!",year);
}
else
printf("%d年是平年!",year);
return 0;
}
-------------------------------------------------------------------------------------
8、写一个程序,接收一个数字,判断它是否能同时被2和3整除
/*
* mian.c
*
* Created on: 2013-3-5
* Author: wangyunhe
*/
#include <stdio.h>
int main(){
// 定义一个变量
int num;
// 显示提示
printf("请输入您要查询的数字:\n");
fflush(stdout);
//获取数字
scanf("%d",&num);
// 使用&&
if(num % 2 == 0 && num % 3 == 0){
printf("%d能被2和3同时整除",num);//情况1,能被同时整除
}
else if(num % 2 == 0 && num % 3 != 0){
printf("%d只能被2整除",num);//情况2,能被2整除
}
else if(num % 2 != 0 && num % 3 == 0){
printf("%d只能被3整除",num);//情况3,能被3整除
}
else
printf("%d不能被2和3整除",num);
return 0;
}
------------------------------------------------------------------------------------------------------------------
8、写出下面各逻辑表达式的值,a=3,b=4,c=5。
(1)a+b>c&&b==c
0
(2)a||b+c&&b-c
(3)!(a>b)&&!c||1
(4)!(x=a)&&(y=b)&&0
(5)!(a+b)+c-1&&b+c/2
---------------------------------------------------------------------
9、有3个整数a、b、c,由键盘输入,输出其中最大的数。
方法一:(if)
#include <stdio.h>
int main()
{
int a,b,c,temp;
printf("Please enter a b c:\n");
fflush(stdout);
scanf("%d%d%d",&a,&b,&c);
if(a>b){
temp=b;
b=a;
a=temp;
}
else if(a>c){
temp=c;
c=a;
a=temp;
}
else if(b>c){
temp=c;
c=b;
b=temp;
}
printf("最大的数是:%d",c);
return 0;
}
方法二:(三目运算符)
----------------------------------------------------------------------------
10、
给出一百分制成绩,要求从键盘输入成绩后,输出成绩等级‘A’、‘B’、‘C’、‘D’、'E'。90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分一下为'E'。
方法一:(if)
#include <stdio.h>
int main(){
int socre;
printf("Please input your socre(0-100):\n");
fflush(stdout);
scanf("%d",&socre);
if(0<=socre && socre<=59)
printf("your score is E!");
else if(60<=socre && socre<=69)
printf("your score is D!");
else if(70<=socre && socre<=79)
printf("your score is C!");
else if(80<=socre && socre<=89)
printf("your score is B!");
else if(90<=socre && socre<=100)
printf("your score is A!");
else
printf("Error!Over Range!");
return 0;
}
方法二:(switch)
#include <stdio.h>
int main()
{
// 定义变量
int score;
// 显示提示
printf("请输入您的成绩:\n");
fflush(stdout);
// 键入一个值
scanf("%d",&score);
// 利用while循环报出error
while(score>100 || score<0){
printf("您输的成绩有误,请重新输入:\n");
scanf("%d",&score);
}
// 通过成绩除以10取整之后的数,来判断成绩的级别
switch((int)score/10){
case 10:
case 9:
printf("成绩为A!");
break;
case 8:
printf("成绩为B!");
break;
case 7:
printf("成绩为C!");
break;
case 6:
printf("成绩为D!");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("成绩为E!");
break;
}
}
----------------------------------------------------------------------------------------------------------
11、给你个不多于5位的正整数,要去:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字,例如原数为321,应输出123。
#include <stdio.h>
int main()
{
int num;
int a,b,c,d,e;//a 为万位,b为千位,依次类推
e=num%10;
d=
printf("请输入一个数:\n");
fflush(stdout);
scanf("%d",&num);
// 判断是几位数
if(num>=0 && num <= 9){
printf("%d 是一位数!\n",num);
printf("个位是%d\n",e);
printf("反过来输出为:%d\n",e);
}
else if(num>=10 && num <= 99){
printf("%d 是两位数!",num);
printf("十位是%d,个位是%d\n",(int),e%10);
printf("反过来输出为:%d\n",e);
}
else if(num>=100 && num <= 999)
printf("%d 是三位数!",num);
else if(num>=1000 && num <= 9999)
printf("%d 是四位数!",num);
else if(num>=10000 && num <= 99999)
printf("%d 是五位数!",num);
// 输出每一位数
return 0;
}
-----------------------------------------------------------------------------------------------------------
12、从键盘输入三个整数,判断是否能构成三角形,若能构成三角形判断是直角三角形,等腰三角形还是等边三角形还是任意三角形。
#include <stdio.h>
int main()
{
int a,b,c;
printf("请输入三个数字:\n");
fflush(stdout);
scanf("%d%d%d",&a,&b,&c);
if(a+b > c && a-b < c){
if(a==b || a==c || b==c ){
printf("此三角形是等腰三角形");
}
else if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b){
printf("此三角形是直角三角形");
}
else {
printf("此三角形是普通三角形");
}
}
else
printf("不能组成三角形!");
return 0;
}
--------------------------------------------------------------------------------------------------------------