if的使用
##include <stdio.h>
int main()
{
int salary,money; //m为工资,n为到手工资
printf("输入工资:");
scanf("%d",&salary);
if(salary <= 5000) {
money = salary;
}else if(salary > 5000 && salary <= 8000){
money = salary - (salary - 5000)*0.1;
}else if(salary > 8000 && salary <= 10000){
money = salary - 200 - (salary - 8000)*0.15;
}else{
money = salary - 200 - 150 - (salary - 10000)*0.2;
}printf("到手工资:%d",money);
return 0;
}
各种循环
#include <stdio.h>
#include <stdlib.h>
/*
getchar();从终端接收一个字符
注意:当上一次有输入的情况下 必须要将上一次缓冲区里面的内容清空
方式一:
getchar(); //拿走\n
getchar();
方式二:
fflush(stdin);//刷新输入流
*/
int main(){
int old = 123;//原始密码
int input;//输入密码
int wrongTime = 3; //错误次数
printf("**********************\n");
printf(" 欢迎使用建设银行系统\n");
printf("**********************\n");
//int i = 1;
printf("请输入密码:");
for(int i = 1;i <= wrongTime; i++){
scanf("%d", &input);
getchar(); //拿走一个字符
//判断密码
if(input == old){
//密码正确
break;
}
if(i == wrongTime){
printf("错误次数过多!\n");
return 1;
}
//密码不正确
printf("密码不正确,请重新输入密码:");
}
printf("密码正确!\n");
int choice;//接受用户选择
char goon;//是否继续
int total=1000;
for(;1;){
//主界面
printf("*****************************\n");
printf("1.存款\n");
printf("2.取款\n");
printf("3.查询\n");
printf("4.更改密码\n");
printf("5.退出\n");
printf("*****************************\n");
//提示用户选择
printf("请选择操作:");
scanf("%d",&choice);
getchar(); //拿走一个字符
//判断操作
switch(choice){
case 1://存款
int temp;
printf("请输入存款金额:");
scanf("%d",&temp);
total+=temp;
printf("存款成功!余额为:%d\n",total);
break;
case 2://取款
int temp2;
for(;1;){
printf("请输入取款金额:");
scanf("%d",&temp2);
if(temp2>total){
printf("余额不足");
}
else{
total-=temp2;
printf("取款成功!余额为:%d\n",total);
break;
}
}
break;
case 3://查询余额
printf("当前余额为:%d\n",total);
break;
case 4://更改密码
for(;1;){
int n1,n2;
printf("请输入新密码:");
scanf("%d",&n1);
printf("请确认新密码:");
scanf("%d",&n2);
if(n1==n2){
printf("设置成功");
old=n1;
break;
}
else{
printf("两次输入不一致");
}
}
break;
default://退出
exit(EXIT_SUCCESS); //return; 结束当前函数,比如main() //exit(); 直接退出程序,需要导入stdlib.h头文件
break;
}
//提示是否继续
for(;1;){
printf("是否继续(y/n)");
getchar();
scanf("%c",&goon);
if(goon=='y'){
break;
}
else if(goon=='n'){
exit(EXIT_SUCCESS);
}
else{
printf("输入无效");
}
}
}
return 0;
}
while的使用(二进制转换器)
#include <stdio.h>
int main(){
int num;
int a[20]={};
int i=0;
scanf("%d",&num);
do{
a[i]=num%2;
num=num/2;
i++;
}
while(num>=1);
int times=i-1;
while(times>=0){
printf("%d",a[times]);
times--;
}
return 0;
}
小游戏
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
int main(){
int count=3;//记录每次生成多少个随机数;
while(1){
//设置随机数的种子
unsigned seed=time(NULL);
srand(seed);
int i; //计数
for(i=0;i<count;i++){
int temp=rand()%9+1;
printf("%d ",temp);
//生成并打印随机数
}
//清屏
sleep(2);
system("cls");
srand(seed);
printf("请输入:");
int i2;//计数
for(i2=0;i2<count;i2++){
//输入回答
int temp;
scanf("%d",&temp);
//获取对应的随机数
int old=rand()%9+1;
//比较
if(temp!=old){
printf("错误");
exit(EXIT_SUCCESS);
}
}
printf("正确\n");
count++;
}
return 0;
}
随机不重复数组(4个数值)
#include <stdio.h>
int main(){
srand(time(NULL));
int array[4]={};//定义数组
int i;//数组个数
for(i=0;i<4;i++){
array[i]=rand()%10;//给予数值
while(i==1){//开始判断
if(array[1]==array[0]){
array[1]=rand()%10;//不满足不重复条件,重新给予随机数值
}else{
break;//满足不重复条件,跳出循环
}
}
while(i==2){//开始判断
if(array[1]==array[2]||array[0]==array[2]){
array[2]=rand()%10;//不满足不重复条件,重新给予随机数值
}else{
break;//满足不重复条件,跳出循环
}
}
while(i==3){//开始判断
if(array[3]==array[0]||array[3]==array[1]||array[3]==array[2]){
array[3]=rand()%10;//不满足不重复条件,重新给予随机数值
}else{
break;//满足不重复条件,跳出循环
}
}
printf("%d",array[i]);//输出数据
}
return 0;
}
随机不重复数组(改良版,可自己设置个数i)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(NULL));
int array[9]={};//定义数组
int i,i2;//数组个数 i 判断参数 i2
int temp;//储存数据
for(i=0;i<9;i++){
i2=i;//给予参数
temp=rand()%10;//给予数值
for(i2;i2>0;){
for(i2;temp!=array[i2-1]&&i2>0;i2--); //判断是否重复,若不重复,则参数i2应该为0
if(i2==0){
break; //跳出循环
}else{
temp=rand()%10;//重新给予数值
}
i2=i;//重置参数
}
array[i]=temp;
printf("%d",array[i]);//输出数据
}
return 0;
}