脚本宝典收集整理的这篇文章主要介绍了实验三,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#define N 80
void printText(int line, int col, char text[]);
void printSpaces(int n);
void printBlankLines(int n);
int main()
{
int line, col, i;
char text[N] = "hi, May~";
srand(time(0));
for (i = 1; i <= 10; ++i)
{
line = rand() % 25;
col = rand() % 80;
printText(line, col, text);
Sleep(1000);
}
return 0;
}
void printSpaces(int n)
{
int i;
for (i = 1; i <= n; ++i)
printf(" ");
}
void printBlankLines(int n)
{
int i;
for (i = 1; i <= n; ++i)
printf("n");
}
void printText(int line, int col, char text[])
{
printBlankLines(line - 1);
printSpaces(col - 1);
printf("%s", text);
}
功能:在屏幕上随机打印十个“hi,May~”
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
long long fac(int n);
int main()
{
int i, n;
printf("Enter n: ");
scanf("%d", &n);
for (i=1; i<=n; ++i)
printf("%d! = %lldn", i, fac(i));
return 0;
}
long long fac(int n)
{
static long long p=1;
p=p * n;
return p;
}
插入printf("p = %lldn", p);在“staticlonglongp=1;”后的截图
#include <stdio.h>
int func(int, int);
int main()
{
int k = 4, m = 1, p1, p2;
p1 = func(k, m);
p2 = func(k, m);
printf("%d,%dn", p1, p2);
return 0;
}
int func(int a, int b)
{
static int m = 0, i = 2;
i += m + 1;
m = i + a + b;
return m;
}
问题回答:
1.实验运行结果与理论分析得到的结果一致;
2.局部static变量的特性:
在函数调用后其值依然保留,并可影响下次调用过程。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
long long fun(int n);
int main()
{
int n;
long long f;
while (scanf("%d", &n) != EOF)
{
f = fun(n);
printf("n = %d, f = %lldn", n, f);
}
return 0;
}
long long fun(int n)
{
int i;
long long a = 0, p = 1;
if (n == 0) a = 1;
else
{
for (i = 1;i <= n;i++)
{
p = p * 2;
}
a = p - 1;
}
return a;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int i;
void hanoi(unsigned n, char from, char to, char temp);
void move(unsigned n, char from, char to);
int main()
{
unsigned n;
while (scanf("%u", &n) != EOF)
{
i = 0;
hanoi(n, 'A', 'C', 'B');
printf("一共移动了%d次", i);
}
system("pause");
}
void hanoi(unsigned n, char from, char to, char temp)
{
if (n == 1)
move(n, from, to);
else
{
hanoi(n - 1, from, temp, to);
move(n, from, to);
hanoi(n - 1, temp, to, from);
}
}
void move(unsigned n, char from, char to)
{
i++;
printf("第%u个盘子: %c-->%cn", n, from, to);
}
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_prime(int n);
int main()
{
int n, p, q, flagp, flagq;
for (n = 4;n <= 20;n += 2)
{
p = 1;
do
{
p++;
q = n - p;
flagp = is_prime(p);
flagq = is_prime(q);
} while (flagq * flagp == 0);
printf("%d =%d + %dn", n, p, q);
}
return 0;
}
int is_prime(int n)
{
int k;
for (k = 2;k <= sqrt(n);k++)
if (n % k == 0)
{
return 0;
}
return 1;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
long fun(long s);
int main()
{
long s, t;
printf("Enter a number:");
while (scanf("%ld", &s) != EOF)
{
t = fun(s);
printf("new number is:%ldnn", t);
printf("Enter a number:");
}
system("pause");
}
long fun(long s)
{
long i, p, t = 0, x = 0, m;
p = s;
while (p != 0)
{
i = p % 10;
if (i % 2 == 1)
t = t * 10 + i;
p /= 10;
}
while (t != 0)
{
m = t % 10;
x = x * 10 + m;
t /= 10;
}
return x;
}
实验总结: 部分函数运用不太熟练,还需要进一步加强练习。
以上是脚本宝典为你收集整理的实验三全部内容,希望文章能够帮你解决实验三所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。