每日5题之8.6

本文提供了多个C语言编程实例,包括使用指针输出数组、读取并显示字符串、字符数组排序、判断素数以及处理学生成绩数据。通过这些实例,读者可以深入了解C语言的指针、数组、字符串处理、数学运算和数据结构等核心概念。
摘要由CSDN通过智能技术生成

1.下面程序通过指向整型的指针将数组a[3][4] 的内容按3行×4列的格式输出,请给printf( )填入适当的参数,使之通过指针p将数组元素按要求输出。

#include <stdio.h>

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}, *p=a

main()

{ int i,j

for(i=0i<3i++ )

{ for(j=0j<4j++ )

printf("%4d ", ① )

}

 

2.下面程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。

#include <stdio.h>

main ( )

{ char str[81], *sptr

int i

for(i=0i<80i++ )

{ str[i]=getchar( )

if(str[i]== '\n') break

}

str[i]= ① ;

sptr=str

while( *sptr )

putchar( *sptr ② )

}

 

 

3.下面函数的功能是将字符变量的值插入已经按ASCII码值从小到大排好序的字符串中。

void fun(char *w,char x,int *n)

{ int i,p=0

while(x>w[p]) ① ;

for(i=*ni>=pi--) ② ;

w[p]=x

++*n

 

4./*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2sqrt(这个数),如果能被整除,

     则表明此数不是素数,反之是素数。*/ 

#include "math.h"

main()

{

  int m,i,k,h=0,leap=1;

  printf("\n");

  for(m=101;m<=200;m++)

   { k=sqrt(m+1);

     for(i=2;i<=k;i++)

       if(m%i==0)

          {leap=0;break;}

       if(leap)    /*内循环结束后,leap依然为1,则m是素数*/ 

          {printf("%-4d",m);h++;

           if(h%10==0)

               printf("\n");

          }

     leap=1;

   }

  printf("\nThe total is %d",h);

}

5./*通过键盘输入3名学生4门课程的成绩,

分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个45列的数组中,输入时同一人数据间用空格,不同人用回车 

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

#include <stdio.h>

#include <stdlib.h>

main()

{ float a[4][5],sum1,sum2;

  int i,j;

  for(i=0;i<3;i++)

    for(j=0;j<4;j++)

      scanf("%f",&a[i][j]);

  for(i=0;i<3;i++)

  { sum1=0;

    for(j=0;j<4;j++)

      sum1+=a[i][j];

      a[i][4]=sum1/4;

  }

  for(j=0;j<5;j++)

  {  sum2=0;

     for(i=0;i<3;i++)

       sum2+=a[i][j];

       a[3][j]=sum2/3;

   }

   for(i=0;i<4;i++)

   {  for(j=0;j<5;j++)

      printf("%6.2f",a[i][j]);

      printf("\n");

   }

}

 

转载于:https://my.oschina.net/shengmingqijiquan/blog/663047

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值