手机访问 | 设为首页 | 加入收藏 | 网站地图

当前位置:电脑中国 > 编程 > C语言 >

C语言题库的上机题

2016-06-26 15:37|来源:未知 |作者:dnzg |点击:

/*编写函数,实现从键盘上输入一个小写字母,将其转化为大写字母。*/ 
/* 
#include<stdio.h> 
int zhuanhua(char s); 
void main(){ 
    char s; 
    printf("请输入一个字符:"); 
    scanf("%c",&s); 
    printf("转化前为:%c\n",s); 
    s=zhuanhua(s); 
    printf("转化后为:%c\n",s); 

int zhuanhua(char s){ 
    char S; 
    S=s-32; 
    return S; 

*/ 
/*计算并输出500以内最大的10个能被13或17整除的自然数之和*/

/* 
#include<stdio.h> 
int jisuan(int n);

void main(){ 
    int n=500; 
    printf("和是%d\n",jisuan(n)); 

int jisuan(int n){ 
    int i,sum=0; 
    for(i=1;i<n;i++) 
        if(i%13==0||i%17==0) 
            sum+=i; 
    return sum; 

*/ 
/*将字符串str中的小写字母全部转换成大写字符串。函数原型可声明为:“void  toUpperCase( char  str[ ]) ; ”*/ 
/* 
#include <stdio.h> 
#include<string.h> 
#define N 10 
void  toUpperCase( char  str[ ]);

void main(){ 
    char str[N]; 
    printf("请输入一个字符串:"); 
    gets(str); 
    toUpperCase(str); 
    printf("交换后的字符串为:"); 
    puts(str); 
   


void  toUpperCase( char  str[ ]){ 
    int i; 
    for(i=0;;i++){ 
        if(str[i]!='\0') 
            str[i]=str[i]-32; 
        else 
            break; 
    } 

*/



【编写函数,将一个字符串的全部有效元素逆置。函数原型可声明为“void reverseStr( char * str ) ;”,参数str为指向字符串的指针。】
答案:
程序代码如下:
#include <stdio.h>
#include <string.h>

void reverseStr( char *str );

int main( )
{
char str[100];
puts(“请输入字符串:”);
gets(str);
reverseStr( str );
puts(“逆转后的字符串:”);
puts( str );
return 0;
}

void reverseStr( char *str )
{
char tmp;
char *pi, *pj;
pi = str; 
pj = str + strlen( str ) – 1;
while (pi < pj )
{ tmp = *pi; *pi = *pj; *pj = tmp; 
++pi; --pj;
}
}

<br/>

1)Fill the blanks of the following program. Function:output by the character w, such as W-shaped structure into a graphical.
w ww w
w w w w
w w w w
w w w w
ww ww
#include <stdio.h>
void draw(int n)

int i, j, k, r, m;
for(i=1; ① ;i++)
{
for(j = 1; j <= 2; j++)
{
for(r = 1; r < i; r++) printf(" ");
printf("w");
for(k = 1; ② ; k++) printf(" ");
printf("w");
for(m = 1; m < i; m++) printf(" ");
}
③ ;
}
}
#include <conio.h>
int main( )
{
int n;
printf("input a number:");
④ ;
draw(n);
return 0;
}
答案:①i <= n;②k<=2*(n-i);③ printf(“\n”);④scanf(“%d”, &n);
<br/>

编写函数,将一个整型数组的全部元素逆序存储,即若原来数组元素分别为12345,逆序存储后数组各元素变为54321。函数原型可声明为“void reverse( int * p , int n );”,参数p为指向数组的指针,n为数组中的元素个数。
答案:
程序代码如下:
#include <stdio.h>

void reverse( int *p, int n );

int main( )
{
int arr[10];
int i;
printf(“请输入10个整数:”);
for(i=0; i<10; i++)
scanf(“%d” , &arr[i]);
reverse ( arr, 10); 
printf(“逆序存储后:”);
for(i=0; i<10; i++)
printf(“%5d” , arr[i]);
printf(“\n”);
return 0;
}

void reverse( int *p, int n )
{
int *pi, *pj;
int tmp;
pi = p;
pj = p + n – 1;
while ( pi < pj )
{
tmp = *pi; *pi = *pj; *pj = tmp;
pi++; pj--;
}
}

<br/>

编写程序,用有参有返回值函数实现判断三个数是否能构成三角形。函数原型可声明为:“int isTriangle( double a, double b, double c );”,其中,a,b,c为三角形的三条边,返回值为0或1,0代表不能构成三角形,1代表能构成三角形。请在主函数中调用该函数完成程序的功能。
答案:
程序代码如下:
#include <stdio.h>
int isTriangle( double a, double b, double c);//函数声明

int main( )
{
double ea, eb, ec;//三角形的三条边
int result; //是否是三角形的判断结果
printf(“Please input the three edges of a triangle:”);

(责任编辑:dnzg)
图片推荐
    友荐云推荐
网友评论