25.static定义静态变量的用法 (观察即可)
本题以看和了解为主
在定义变量的时候,在数据类型名之前添加static关键字,定义的变量就是静态变量。那么,可以包括“静态局部变量”和“静态全局变量”。
#include <stdio.h>
void varfunc()
{
int var = 0;
static int static_var = 0;
printf("\40:var equal %d \n", var);
printf("\40:static var equal %d \n", static_var);
printf("\n");
var++;
static_var++;
}
void main()
{
int i;
for (i = 0; i < 3; i++)
varfunc();
return;
}
输出结果:
26.学习使用auto定义变量的用法(观察即可)
auto函数:
#include <stdio.h>
int main()
{
int i, num;
num = 2;
for (i = 0; i < 3; i++)
{
printf("\40: The num equal %d \n", num);
num++;
{
auto num = 1;
printf("\40: The internal block num equal %d \n", num);
num++;
}
}
return 0;
}
运行结果
27.小球下落问题
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#include <stdio.h>
#include<math.h>
int main()
{
float high = 100; //总高度
float s, h; //h代表当前高度,s代表总长度
h = high * pow(0.5, 10); //0.5是这个里面的规律,一半,10代表十次
s = 2 * (50 - h * 0.5 * 2) / (1 - 0.5) + 100;
printf("第十次的高度为%f;总路程为%f", h, s);
return 0;
}
28.找出1000以内所有完数
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
#include<stdio.h>//头文件
int main()//主函数
{
int number,s,i;//定义变量
for(number=2;number<1000;number++)//for循环
{
//直接从2开始
s=0;
for(i=1;i<number;i++)
{
//检查i是否是m的因子
if((number%i)==0)
{
//如果是的话
s=s+i;
}
}
if(s==number)
{
printf("%d的因子为:",number);
for(i=1;i<number;i++)
{
if(number%i==0)
{
//判断是否是因子,是的话就输出
printf("%d ",i);
}
}
printf("\n");//换行
}
}
return 0;//主函数返回值为0
}
29.猜数字
#include "time.h"
#include "stdlib.h"
#include "stdio.h"
main()
{
char c;
clock_t start,end;
time_t a,b;
double var;
int i,guess;
srand(time(NULL));
printf("do you want to play it.('y' or 'n') \n");
loop:
while((c=getchar())=='y')
{
i=rand()%100;
printf("\nplease input number you guess:\n");
start=clock();
a=time(NULL);
scanf("%d",&guess);
while(guess!=i)
{
if(guess>i)
{
printf("please input a little smaller.\n");
scanf("%d",&guess);}
else
{
printf("please input a little bigger.\n");
scanf("%d",&guess);}
}
end=clock();
b=time(NULL);
printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2);
printf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
if(var<15)
printf("\1\1 You are very clever! \1\1\n\n");
else if(var<25)
printf("\1\1 you are normal! \1\1\n\n");
else
printf("\1\1 you are stupid! \1\1\n\n");
printf("\1\1 Congradulations \1\1\n\n");
printf("The number you guess is %d",i);
}
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
if((c=getch())=='y')
goto loop;
}
30.(第一个项目)通讯录设计
``坦白的说自己做的不太好(因为对于指针一类熟悉度不高),这里从网上引用了一个别人的,自己修改了一下。里面设计很多指针的应用,谢谢这位作者的代码。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
typedef struct student //定义结构体
{
char name[20]; //姓名
char num[15]; //学号
char sex[10]; //性别
char from[20]; //籍贯
char political[10]; //政治面貌
char phone[15]; //手机号
char QQ[15]; //QQ号
char dorm[10]; //宿舍
struct student* next; //结构体指针
}stu;
stu* head;
void print() //主菜单
{
system("cls");
printf("\n\n\n");
printf(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
printf(" ***********************************************************\n");
printf(" \t\t\t班级通讯录管理系统\n");
printf("\n");
printf(" \t\t1. 输入数据");
printf("\t\t2. 显示数据\n");
printf(" \t\t3. 插入数据");
printf("\t\t4. 删除数据\n");
printf(" \t\t5. 查看数据");
printf("\t\t6. 修改数据\n");
printf(" \t\t7. 保存数据");
printf("\t\t8. 返回主菜单\n");
printf(" ***********************************************************\n");
printf(" ~~~~~退~~~~~~~~~~出~~~~~~~~~~请~~~~~~~~~~按~~~~~~~~~~9~~~~~\n"