C primer plus C 第六章控制语句:循环 编程练习个人练习

// 第六章 C控制语句-循环.cpp : 定义控制台应用程序的入口点。
//vs2015环境,win10


#include "stdafx.h"
#include<stdlib.h>
#include<string.h>
int i=0;//存储用户输入.8
int flag = 0;//语句控制
double point = 0;//返回值


int main()
{
void fun_1();
void fun_2();
void fun_3();
void fun_4();
void fun_5();
void fun_6();
void fun_7();
double fun_8();
void fun_11();
void fun_12();
void fun_13();
void fun_14();
void fun_15();
void fun_16();
void fun_17();
void fun_18();
while (1)
{
printf("please input the numble in the front of each sentence to run the project if you want\n");
printf("press any other key to quit the progress\n");
printf(
"1:输出26英文字符\n"
"2:关于$的排列输出\n"
"3:关于F开始的排列输出\n"
"4:关于大写字母的排列输出\n"
"5:大写字母金字塔排列\n"
"6:用户输入上限和下限,输出其间数字的本身,平方,立方\n"
"7:用户输入一个字符串,倒序输出\n"
"8::用户输入两个浮点数,输出两数差与两数成绩的商\n"
"9:见8,略\n"
"10:见6,略\n"
"11:输入八个整数,倒序输出\n"
"12:求无线数列:\n(1):1.0+1.0/2.0+1.0/3.0+...\n(2):1.0-1.0/2.0-1.0/3.0-...\n"
"13:输出2的前八次幂\n"
"14:输入一个8位数组,输出一个数组,其没一个元素为第一个数组的序号对应值累加\n"
"15:将7,略\n"
"16:Daphne%10单利息投资100美元,Deirdre%5复利投资100美元,哪一年Deirdre超过Daphne\n"
"17:Chuckie Lucky 有100万美元,年利息%8,每年取一万美元,哪一年取完\n"
"18:Rabnud 有5个朋友,第一周少一个,剩下翻倍,哪一周超过邓巴数(150)\n"


);
//循环控制
if (scanf("%d", &i) != 1) { break; }
scanf("%*[^\n]");//消去多余输入
getchar();//消去\n
//循环控制结束
switch (i)
{
case 1:system("cls"); fun_1(); system("cls"); break;
case 2:system("cls"); fun_2(); system("cls"); break;
case 3:system("cls"); fun_3(); system("cls"); break;
case 4:system("cls"); fun_4(); system("cls"); break;
case 5:system("cls"); fun_5(); system("cls"); break;
case 6:system("cls"); fun_6(); system("cls"); break;
case 7:system("cls"); fun_7(); system("cls"); break;
case 8:system("cls"); fun_8(); system("cls"); break;
case 11:system("cls"); fun_11(); system("cls"); break;
case 12:system("cls"); fun_12(); system("cls"); break;
case 13:system("cls"); fun_13(); system("cls"); break;
case 14:system("cls"); fun_14(); system("cls"); break;
case 15:system("cls"); fun_15(); system("cls"); break;
case 16:system("cls"); fun_16(); system("cls"); break;
case 17:system("cls"); fun_17(); system("cls"); break;
case 18:system("cls"); fun_18(); system("cls"); break;

default:(printf("error,wrong numble\n"));
}



}
    return 0;
}


void fun_1()
{
int a[26];
for (int m = 0; m < 26; m++)
{
a[m] = 'a'+m;
printf("%c ", a[m]);
if ((m+1) % 7 == 0)putchar(10);
}
system("pause");
}
void fun_2()
{
for (int m = 0; m < 5; m++)
{
for (int n=1+m;n>0;n--)
{
printf("$");
}
printf("\n");
}
system("pause");
}
void fun_3()
{
char str[] = "FEDCBA";
for (int m = 0; m < 6; m++)
{for(int n=0;n<=m;n++)
printf("%c", str[n]);
printf("\n");
}
system("pause");;
}
void fun_4()
{
for (int m = 0,j=0; m < 6; m++)
{
for(int n=0;n<=m;n++,j++)
{
printf("%c", 'A' + j);
}
printf("\n");
}
system("pause");
}
void fun_5()
{
int row = 5;
int weight = row;
char ch='\0';
while (1)
{

printf("please input a character,press key '1' to quit\n");
scanf("%c", &ch);
getchar();
if (ch== '1') { break; };//控制语句

for (int m = 0; m < row; m++)
{
for (int j=0; weight - m-j >= 0; j++)
{
printf(" ");


}
for (int n = 0; n <= m; n++)
{

printf("%c", ch+n );
}
for (int n = m-1; n>=0; n--)
{
printf("%c", ch+n);
}
printf("\n");
}
system("pause");
}
}
void fun_6()
{
float f_lower_limit=0,f_upper_limit = 0;
while (1)
{
printf("please input the upper limit and lower limit,press any other key to quit\n"
"format:upper_limit lower_limit\n");
if ((scanf("%f %f", &f_upper_limit, &f_lower_limit)) != 2) getchar(); { break; }
for (; f_lower_limit <= f_upper_limit; f_lower_limit++)
{
printf("%4.3f %4.3f %4.3f\n", f_lower_limit, f_lower_limit*f_lower_limit, f_lower_limit*f_lower_limit*f_lower_limit);
}
}
}
void fun_7()
{//字符串最后一个字符自动追加为换行符
char str[200] = "\0";
while (1)
{
printf("please input a string,press only esc in order to quit\n");
i = strlen(gets_s(str));
if (((str[0] == 'e') && (str[1] == 's') && (str[i-1] == 'c')) || (str[0] == 'E'&&str[1] == 'S'&&str[i-1] == 'C')) { break; }
for (; i >= 0; i--)
{
printf("%-1c", str[i-1]);
}
printf("\n");
}
}
double fun_8()
{
double m=0, n=0;
while (1)
{
printf("please input two numble,press any other key instead of number to quit\n"
"format:m.n a.b\n");
if ((scanf("%lf %lf", &m, &n) != 2)) { break; };
getchar();
point = ((m - n) / (n*m));
printf("%3.2lf",point);
system("pause");

}

return point;
}
void fun_11()
{
int a[8];
for (i = 0; i < 8; i++)
{
a[i] = i;
}
for (i=7; i >= 0; i--)
{
printf("%d ", a[i]);
}
printf("\n");
system("pause");
}
void fun_12()
{



while (1)
{ int d_control = 0;
float m = 1, n = 1,sequence_1=0,sequence_2=0;
printf("please input the times the progress run,input 0 to end the progress\n");
scanf("%d", &d_control);
if (d_control == 0) { break; }
for (i = 0; i < d_control; i++)
{
sequence_1 += m / (n + i);
sequence_2 -= m / (n + i);
}
printf("%3.2f\n%3.2f\n", sequence_1, sequence_2);


}

}
void fun_13()
{
int a[8]; a[0] = 2;
for (i = 1; i < 8; i++)
{
a[i] = a[i-1]*2;
}
for (i = 0; i < 8; i++)
{
printf("%2d ", a[i]);
}
system("pause");
}
void fun_14()
{
double d_input=0;
double m[8], n[8];
while (1)
{
printf("please input 8 number,press any other key instead of number to quit\n");
for (i = 0; i < 8; i++)
{
if (scanf("%lf", &d_input) != 1) { break; }
m[i] =d_input ;
}
n[0] = m[0];
for (i = 1; i < 8; i++)
{
n[i] = m[i] + n[i - 1];
}




for (i = 0; i < 8; i++)
{
printf("%3.2lf ", m[i]);
}printf("\n");
for (i = 0; i < 8; i++)
{
printf("%3.2lf ", n[i]);
}printf("\n");


}
}
void fun_15()
{
;
}
void fun_16() 
{
double lf_Daphne = 100, lf_Deirdre = 100;
for (i=0; lf_Daphne >= lf_Deirdre;i++)
{
lf_Daphne+=10;
lf_Deirdre *= 1.05;
}
printf("Daphne:%3.3lf Deirdre:%3.3lf 年数:%d\n", lf_Daphne, lf_Deirdre,i);
system("pause");

}
void fun_17() 
{
double m = 10;
for (i = 0; m >= 0; i++)
{
m *= 1.08;
m--;
}
printf("余额:%3.3lf 年数:2%d",m ,i);
system("pause");
}
void fun_18()
{
int m = 5, n = 150;
for (i = 0; m <= n; i++)
{
m -= 1;
m *= 2;
}
printf("朋友数:%d 周数:%d\n",m, i);
system("pause");


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值