C语言题库2015(5)

2019-04-09 09:58

*(a+i)=*(a+j); *(a+j)=t; i++;j--; }

for(i=0;i

Q1601.(10分)按如下函数原型编写程序,输入10个整数,用函数编程将其中最大数与最小数位置互换,然后输出互换后的数组。 void MaxMinExchang(int a[], int n); int FindMaxPos(int s[], int n); int FindMinPos(int s[], int n);

输入提示信息:\输入格式:\

输出提示信息:\输出格式:\参考答案

#include

void MaxMinExchang(int a[], int n); int FindMaxPos(int s[], int n); int FindMinPos(int s[], int n); int main() {

int i, a[10];

printf(\ for (i = 0; i < 10; i++) {

scanf(\ }

MaxMinExchang(a, 10); printf(\ for (i = 0; i < 10; i++) {

printf(\ }

printf(\ return 0; }

/* 函数功能:将数组中的最大数与最小数位置互换 */ void MaxMinExchang(int a[], int n) {

int maxPos, minPos, temp; maxPos = FindMaxPos(a, n); minPos = FindMinPos(a, n);

temp = a[maxPos]; a[maxPos] = a[minPos]; a[minPos] = temp; }

/* 函数功能:计算数组中的最大值在数组中的下标位置 */ int FindMaxPos(int s[], int n) {

int maxPos = 0, max = s[0], i; for (i = 1; i < n; i++) {

if (s[i] > max) {

max = s[i]; maxPos = i; } }

return maxPos; }

/* 函数功能:计算数组中的最小值在数组中的下标位置 */ int FindMinPos(int s[], int n) {

int minPos = 0, min = s[0], i; for (i = 1; i < n; i++) {

if (s[i] < min) {

min = s[i]; minPos = i; } }

return minPos; }

Q1687.(10分)用字符指针作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。

**提示信息: \ \

**输入格式要求:\

**输出格式要求:\程序运行示例1如下: Input a string:hello,world! Input a character:o Results:hell,wrld!

参考答案

#include #include #define N 100

void Squeeze(char *s, char c); int main() {

char str[20], ch;

printf(\ gets(str);

printf(\ ch = getchar(); Squeeze(str, ch);

printf(\ return 0; }

void Squeeze(char *s, char c) {

char str[N]; char *t = str; strcpy(t, s);

for (; *t != '\\0'; t++) {

if (*t != c) {

*s = *t; s++; } }

*s = '\\0'; /* 在字符串t2的末尾添加字符串结束标志 */ }

Q1715.(10分)假设今年的工业产值为100万元,产值增长率为每年c%,请编程计算当c分别为6、8、10、12时工业产值分别过多少年可实现翻一番(即增加一倍)。 输入格式:无

输出格式:\参考答案

#include

#define CURRENT 100 #define N 4 main() {

int i;

int year; /* 产值翻番所需年数 */

int growRate[N] = {6, 8, 10, 12}; /* 工业产值的增长率 */ double output; /* 工业总产值 */ for (i = 0; i < N; i++) {

output = CURRENT; /* 当年产值为100万元 */ for (year = 0; output < 2 * CURRENT; year++) {

output = output * (1 + growRate[i] / 100.0); }

printf(\ %d years.\\n\ } }

Q297.(15分)两个正整数的最大公约数是能够整除这两个整数的最大整数。 请按如下函数原型编写计算最大公约数的函数Gcd()。 int Gcd(int a, int b);

在主函数中调用该函数计算,并输出从键盘任意输入的两整数的最大公约数。 **要求输入提示信息为: \**要求输入格式为: \**要求输出格式为

如果a或b不是正整数,输出: \否则输出: \

注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程,主函数不能使用int main和return 0。 参考答案

#include int Gcd(int a, int b); main() {

int a, b, c;

printf(\

scanf(\ c = Gcd(a, b); //1 if (c != -1) //1 {

printf(\ } else {

printf(\ } }

int Gcd(int a, int b) //1

{

int i, t;

if (a <= 0 || b <= 0) //1 {

return -1; //1 }

t = a < b ? a : b; //2 for (i = t; i > 0; i--)//2 {

if (a % i == 0 && b % i == 0)//1 return i; //1 }

return 1; //1 }

Q320.(10分)请用循环语句,打印输出如下图所示的下三角形乘法九九表。 1 2 4 3 6 9

4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 **输入提示信息格式: 无 **输入数据格式要求: 无 **输出数据格式要求: \参考答案

#include int main() {

int i, j;

for (i = 1; i < 10; i++) //2 {

for (j = 1; j <= i; j++) //2 {

printf(\ }

printf(\ //1 }

return 0; }


C语言题库2015(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:部编版九年级语文上册期中检测卷(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: