C语言编程题 c语言编程题

C\u8bed\u8a00\u7f16\u7a0b\u9898

\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8ba9\u6211\u6b7b\u5fc3\u584c\u5730\u5fd8\u8bb0
\u6211\u5b81\u613f\u4f60\u7edd\u60c5\u5230\u5e95 \u8ba9\u6211\u5f7b\u5e95\u7684\u653e\u5f03
\u6211\u5b81\u613f\u53ea\u4f24\u5fc3\u4e00\u6b21 \u4e5f\u4e0d\u8981\u65e5\u591c\u90fd\u4f24\u5fc3
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8bf7\u522b\u518d\u8bf4
\u4f60\u8d70\u7684\u90a3\u573a\u591c\u96e8 \u6dcb\u6e7f\u6211\u7684\u4f24\u5fc3
\u62b9\u4e0d\u53bb\u4f60\u7559\u4e0b\u865a\u4f2a\u7684\u5507\u5370 \u56de\u60f3\u4f60\u6b3a\u9a97\u7684\u8bdd\u8bed
\u65e2\u7136\u5df2\u51b3\u5b9a\u79bb\u53bb \u4e3a\u4f55\u8fd8\u7559\u4e0b\u6b8b\u60c5
\u8ba9\u6211\u4ee5\u4e3a\u4f60\u662f\u5426\u4e0d\u5f97\u5df2 \u8ba9\u6211\u4e0d\u80fd\u5f7b\u5e95\u5fd8\u8bb0
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8ba9\u6211\u6b7b\u5fc3\u584c\u5730\u5fd8\u8bb0
\u6211\u5b81\u613f\u4f60\u7edd\u60c5\u5230\u5e95 \u8ba9\u6211\u5f7b\u5e95\u7684\u653e\u5f03
\u6211\u5b81\u613f\u53ea\u4f24\u5fc3\u4e00\u6b21 \u4e5f\u4e0d\u8981\u65e5\u591c\u90fd\u4f24\u5fc3
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8bf7\u522b\u518d\u8bf4
\u6211\u7231\u4f60 \u554a \u6211\u7231\u4f60 \u554a
\u4f60\u8d70\u7684\u90a3\u573a\u591c\u96e8 \u6dcb\u6e7f\u6211\u7684\u4f24\u5fc3
\u62b9\u4e0d\u53bb\u4f60\u7559\u4e0b\u865a\u4f2a\u7684\u5507\u5370 \u56de\u60f3\u4f60\u6b3a\u9a97\u7684\u8bdd\u8bed
\u4f60\u65e2\u7136\u5df2\u51b3\u5b9a\u79bb\u53bb \u4e3a\u4f55\u8fd8\u7559\u4e0b\u6b8b\u60c5
\u8ba9\u6211\u4ee5\u4e3a\u4f60\u662f\u5426\u4e0d\u5f97\u5df2 \u8ba9\u6211\u4e0d\u80fd\u5f7b\u5e95\u5fd8\u8bb0
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8ba9\u6211\u6b7b\u5fc3\u584c\u5730\u5fd8\u8bb0
\u6211\u5b81\u613f\u4f60\u7edd\u60c5\u5230\u5e95 \u8ba9\u6211\u5f7b\u5e95\u7684\u653e\u5f03
\u6211\u5b81\u613f\u53ea\u4f24\u5fc3\u4e00\u6b21 \u4e5f\u4e0d\u8981\u65e5\u591c\u90fd\u4f24\u5fc3
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8bf7\u522b\u518d\u8bf4
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8ba9\u6211\u6b7b\u5fc3\u584c\u5730\u5fd8\u8bb0
\u6211\u5b81\u613f\u4f60\u7edd\u60c5\u5230\u5e95 \u8ba9\u6211\u5f7b\u5e95\u7684\u653e\u5f03
\u6211\u5b81\u613f\u53ea\u4f24\u5fc3\u4e00\u6b21 \u4e5f\u4e0d\u8981\u65e5\u65e5\u591c\u591c\u90fd\u4f24\u5fc3
\u6211\u5b81\u613f\u4f60\u51b7\u9177\u5230\u5e95 \u8bf7\u522b\u518d\u8bf4
\u6211\u7231\u4f60 \u554a \u6211\u7231\u4f60 \u554a
\u6211\u7231\u4f60 \u554a \u6211\u7231\u4f60

#include

int main(){
char s[80];
int i,L,flag,n=1;
printf("enter passwd with 6 digits. or exit by Ctrl-C\n");
while(1){
flag=1;
gets(s); L=strlen(s);
for (i=0;i '9') flag=0;
if (flag==1) {printf("PassWord-%d is %s Length=%d\n",n,s,L); n++;}
else printf("error\n");
}
return 0;
}

\u7a0b\u5e8f\u6ca1\u6709\u68c0\u67e5 \u8f93\u5165\u53e3\u4ee4\u957f\u5ea6 \u662f\u5426\u8d85\u8fc76\u4e2a\uff0c\u82e5\u9700\u8981\uff0c\u4f60\u53ef\u4ee5 \u7528 L \u5224\u65ad\uff0cL>6 \u5c31\u662f\u8d85\u8fc76\uff0cL==0 \u5c31\u662f\u7a7a\u7684\u53e3\u4ee4\u3002
\u6309 Ctrl+C \u9000\u51fa\u8fd0\u884c\u3002

要输入的分数太多,我懒得手数,用2位随机数代替手输入,输入函数我单独写了,你需要调用就行了,详细看备注。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define stuNum 15//学生人数
#define scNum 7//模块数
typedef struct stu//定义学生数据结构
{
    int sid;//学生ID
    int sc[scNum];//对应7个模块成绩
    int sum;//总成绩
}STU;
void insertSTU(STU *stu);//输入15个学生的信息
void insertTest(STU *stu);//测试,用随机数代替输入,我懒得输入那么多成绩,你要手输,调用insertSTU替换该函数
void printfSTU(STU *stu);//按输入顺序打印15名学生7模块成绩  及  每个模块前三名的成绩
int main()
{
    STU stu[stuNum];//定义15个学生
   // int i,j,sc;
   srand(time(NULL));
    insertTest(stu);//想手动输入这里改成insertSTU(stu)
    printfSTU(stu);
    return 0;
}
void printfSTU(STU *stu)//按输入顺序打印15名学生7模块成绩  及  每个模块前三名信息 及 总分前三名信息
{
    int i,j,k,sc;
    STU *max[3],*sum[3],newstu;//max对应7个模块前3的学生结构指针 sum对应总分前3学生结构指针
    for(i=0;i<stuNum;i++)
    {
        printf("编号%02d的学生7模块成绩及总分分别为:",stu[i].sid);
        for(j=0;j<scNum;j++)
        {
            sc=stu[i].sc[j];
            printf("%02d ",sc);
        }
        printf("%d
",stu[i].sum);
    }


    for(j=0;j<scNum;j++)
    {
        for(k=0;k<scNum;k++)
        {
            newstu.sc[k]=0;
            newstu.sum=0;
        }

        max[0]=max[1]=max[2]=&newstu;
        for(i=0;i<stuNum;i++)
        {
            if(stu[i].sc[j]>max[0]->sc[j])
                max[0]=&(stu[i]);
            else if(stu[i].sc[j]>max[1]->sc[j])
                max[1]=&(stu[i]);
            else if(stu[i].sc[j]>max[2]->sc[j])
                max[2]=&(stu[i]);
        }
        printf("模块%02d前3名分别为:编号:%02d分数:%02d  编号:%02d分数:%02d  编号:%02d分数:%02d   
",j+1,max[0]->sid,max[0]->sc[j],max[1]->sid,max[1]->sc[j],max[2]->sid,max[2]->sc[j]);
    }

    sum[0]=sum[1]=sum[2]=&newstu;
    for(i=0;i<stuNum;i++)
    {
        if(stu[i].sum>sum[0]->sum)
            sum[0]=&(stu[i]);
        else if(stu[i].sum>sum[1]->sum)
            sum[1]=&(stu[i]);
        else if(stu[i].sum>sum[2]->sum)
            sum[2]=&(stu[i]);
    }
    printf("总分前3名分别为:编号:%02d总分:%02d  编号:%02d总分:%02d  编号:%02d总分:%02d   
",sum[0]->sid,sum[0]->sum,sum[1]->sid,sum[1]->sum,sum[2]->sid,sum[2]->sum);

}


void insertSTU(STU *stu)//输入15个学生的信息
{
    int i,j,sc;
    for(i=0;i<stuNum;i++)
    {
        stu[i].sid=i+1;
        stu[i].sum=0;
        printf("输入编号%d的学生的7个模块成绩:",i+1);
        for(j=0;j<scNum;j++)
        {
            //scanf("%d",&sc);// 我懒得输入那么多成绩,就用随机数代替,你要输入把这句恢复
            sc=(int)(rand()%100);//用随即2位数代替输入,不需要就注释掉
            stu[i].sc[j]=sc;
            stu[i].sum=stu[i].sum+sc;
        }
    }
}
void insertTest(STU *stu)//测试用代替输入
{
    int i,j,sc;
    for(i=0;i<stuNum;i++)
    {
        stu[i].sid=i+1;
        stu[i].sum=0;
        for(j=0;j<scNum;j++)
        {
            sc=(int)(rand()%100);
            stu[i].sc[j]=sc;
            stu[i].sum=stu[i].sum+sc;
        }
    }
}


#include <stdio.h>
#include <math.h>
void main()
{
    char  ip[33]="";
    int i=31,j,k=3,sum[4]={0,0,0,0};
  puts("请输入完整二进制ip地址");
 gets(ip );
 puts("转化后为:");
     while(i>=0)
  {  
         j=0;
        while(j<8)
  {            
                sum[k]+=(ip[i]-48)*pow(2,j);    
                i--;              
                j++;
  }
                k--;
}
printf("%d:%d:%d:%d
",sum[0],sum[1],sum[2],sum[3]);
}

 

#include <stdio.h>
#include <math.h>
void main()
{
  //比如ip为:11111111 11111111 11111111 11111111  //按照8421法转化为16进制
int ip=0xffffffff; //
printf("%d.%d.%d.%d
",(ip >> 24)&0xff,(ip >> 16)&0xff,(ip>>8)&0xff,ip&0xff);
}

 



以下的代码就可以实现你的所有要求了(但是是用C++编的,不知道楼主是要C++还是C的):

#include<iostream>

#include<fstream>

using namespace std;

void show_original_files(ifstream& out);

void add_message(ifstream& in,ofstream& add,int& n);

void show_changed_files(ifstream& in,int n);

int main()

{

 int n=0;

 ifstream fin;

 ofstream fout;

 cout<<"加载message.txt文件。。。
";

 fout.open("message.txt",ios::app);

 if(fout.fail())

 {

  cout<<"文件加载错误!";

  exit(1);

 }

 fin.open("message.txt");

 if(fin.fail())

 {

  cout<<"文件加载错误!";

  exit(1);

 }

 

 show_original_files(fin);

 add_message(fin,fout,n);

 fout.close();

 show_changed_files(fin,n);

 fin.close();

 return 0;

void show_original_files(ifstream& in)

{

 char ch;

 in.get(ch);

 if(in.eof())

  cout<<"
原文件内容为空。";

 else

 {

  cout<<"
原文件内容为:";

  while(!in.eof())

  {

   cout<<ch;

   in.get(ch);

  }

 }

 cout<<endl;

}

void add_message(ifstream& in,ofstream& add,int& n)

{

 char ch;

 cout<<"
输入你要添加到文件的内容:
";

 cin.get(ch);

 while(ch!='
')

 {

  add<<ch;

  n++;

  cin.get(ch);

 }

}

void show_changed_files(ifstream& in,int n)

{

 char ch;

 int i;

 cout<<"
你想输出文件的哪部分内容?(1.整个文件;2.刚才输入的信息)
"

  <<"请选择:";

 cin>>i;

 

 if(i==1)

 {

  in.clear();

  in.seekg(0);

  cout<<"
添加后整个文件内容为:";

  in.get(ch);

  while(!in.eof())

  {

   cout<<ch;

   in.get(ch);

  }

  cout<<endl;

 }

 else if(i==2)

 {

  in.clear();

  cout<<"
你刚才输入的信息为:";

  in.get(ch);

  while(!in.eof())

  {

   cout<<ch;

   in.get(ch);

  }

  cout<<endl;

 }

}

运行结果



// seqstack.h
#define MAX 100

typedef struct {
datatype data[MAX];
int top;
}SeqStack;

SeqStack *initStack() {
SeqStack *head = (SeqStack *)malloc(sizeof(SeqStack));
head->top = 0;
memset(head,0,MAX*sizeof(datatype));
return head;
}

int isEmpty(SeqStack *head) {
return head->top == 0;
}

int isFull(SeqStack *head) {
return head->top == MAX;
}

int Push(SeqStack *head, datatype e) {
if(isFull(head)) return 0;
head->data[head->top] = e;
++head->top;
return 1;
}

int Pop(SeqStack *head, datatype *e) {
if(isEmpty(head)) return 0;
--head->top;
*e = head->data[head->top];
return 1;
}

#include <stdio.h>
#include <malloc.h>
#include <memory.h>
typedef char datatype;//栈元素数据类型
#include "seqstack.h"

int main(void) {
char s[100],op,i;
SeqStack *stck = initStack();
printf("Input a string : ");
scanf("%s",s);
for(i = 0; s[i]; ++i) {
if(s[i] == '(') Push(stck,s[i]);
if(s[i] == '[') Push(stck,s[i]);
if(s[i] == '{') Push(stck,s[i]);
if(s[i] == ')') {
Pop(stck,&op);
if(op != '(') {
printf("没有找到与')'匹配的'('。
");
return 1;
}
}
if(s[i] == ']') {
Pop(stck,&op);
if(op != '[') {
printf("没有找到与']'匹配的'['。
");
return 1;
}
}
if(s[i] == '}') {
Pop(stck,&op);
if(op != '{') {
printf("没有找到与'}'匹配的'{'。
");
return 1;
}
}
}
printf("完美匹配!
");
return 0;
}


#include <stdio.h>
int main()
{
double j,s=1,n=1;
int a=0,b=1;
printf("请输入精度:");
scanf("%lf",&j);
while(n>=j)
{
a+=1;
b+=2;
n=n*a/b;
s=s+n;
}
printf("π≈%lf
",2*s);
}

不过输入0.001的输出和你的例子不一样。仅供参考。

你的代码修改如下:

#include <stdio.h>
int main()
{
float pi,t,s,i,j;
i=1;s=1;t=0;pi=1;
scanf("%f",&t);
while(s>=t)
{
s=s*i/(2*i+1);
pi=pi+s;
i=i+1;
}
printf("%7f",pi*2);

return 0;
}

pi1和pi2没有实际作用。



  • 鎬ユ眰c璇█缂栫▼棰樼洰
    绛旓細rand()鍑芥暟鏄寜鎸囧畾鐨勯『搴忔潵浜х敓鏁存暟,鍥犳姣忔鎵ц涓婇潰鐨勮鍙ラ兘鎵撳嵃鐩稿悓鐨勪袱涓,鎵浠ヨC璇█鐨勯殢鏈哄苟涓嶆槸鐪熸鎰忎箟涓婄殑闅忔満,鏈夋椂鍊欎篃鍙吉闅忔満鏁,浣跨敤 rand() 鐢熸垚闅忔満鏁颁箣鍓嶉渶瑕佺敤闅忔満鍙戠敓鍣ㄧ殑鍒濆鍖栧嚱鏁 srand(unsigned seed)(涔熶綅浜 stdlib.h 涓) 杩涜浼殢鏈烘暟搴忓垪鍒濆鍖,seed 鍙堝彨闅忔満绉嶅瓙,閫氫織璁插氨鏄,濡傛灉...
  • C璇█缂栫▼棰樼洰?
    绛旓細浠ヤ笅鏄C璇█浠g爜瀹炵幇锛歚``c include <stdio.h> void GetOdd(int a[], int *b, int *m) { int i;m = 0; // 鍒濆鍖栧鏁颁釜鏁颁负0 for (i = 0; i < 9; i++) { if (a[i] % 2 != 0) { // 鍒ゆ柇鏄惁涓哄鏁 b[(*m)++] = a[i]; // 瀛樺偍濂囨暟骞跺皢濂囨暟涓暟鍔1 } ...
  • C璇█浣滀笟,缂栫▼棰 甯府瀛╁瓙鍚
    绛旓細);}//杩愯绀轰緥锛氱3棰橈細include <stdio.h>int a[6],b[6],c=0,d=0;double avg;int fun(int arr[6][6]){int i,j,s,sum=0;for(i=0;i<6;i++){s=0;for(j=0;j<6;j++){s+=arr[i][j];sum+=arr[i][j];if(i==j) c+=arr[i][j];if(i+j==5) d+=arr[i]...
  • C璇█绋嬪簭璁捐缂栫▼棰:
    绛旓細鎵嬫満缂栫▼ 鍏朵粬绫讳技闂 2015-11-08 C璇█绋嬪簭璁捐棰 2015-06-05 c璇█绋嬪簭璁捐棰 1 2014-03-19 C璇█绋嬪簭璁捐缂栫▼棰樿冮 3 2013-10-13 c璇█绋嬪簭璁捐缂栫▼棰 1 2015-06-28 C璇█绋嬪簭璁捐棰(楂樺垎鎮祻) 1 2016-05-16 C璇█缂栫▼棰 4 2015-09-18 C璇█绋嬪簭璁捐棰 2010-01-09 c璇█绋嬪簭璁捐...
  • 姹傚ぇ绁C璇█缂栫▼,棰樼洰瑕佹眰鍦ㄤ笅闈
    绛旓細涓嬮潰鏄垜鐨勪唬鐮侊紝涓変釜鍑芥暟鍒嗗埆瀵瑰簲涓変釜闂銆俰nclude<stdio.h> define MLEN 20//瀛楃涓叉渶澶ч暱搴 char fun1();void fun2();void fun3();int main(void){ fun1();fun2();fun3();return 0;} char fun1(){ int nI;float nF;char c;char str[MLEN];printf("璇峰垎鍒緭鍏1涓暣鏁帮紝1涓...
  • 鎬!鎬!绠鍗c璇█缂栫▼棰,姹傜紪鍐欎唬鐮
    绛旓細//绗竴棰#include<stdio.h>void fun(int n){ int i,j,k,t;for(k=0;k<n;k++)//鎺у埗鎬昏鏁皗 for(i=0;i<n-k-1;i++)//鎺у埗杈撳嚭绌烘牸锛屽洜涓虹┖鏍间笉濂界湅瑙侊紝灏辩敤*浠f浛 printf("%c",'*'); for(j=0;j<2*k+1;j++)//鎺у埗杈撳嚭瀛楁瘝 { printf("%c",65+j)...
  • C璇█缂栫▼棰
    绛旓細棰樼洰涓銆佹暟瀛﹂粦娲6174锛堣繖棰樼洰鎸烘湁鎰忔濆摝~锛/ 鏁板榛戞礊6174銆傚凡鐭ワ細涓涓换鎰忕殑鍥涗綅姝f暣鏁帮紙鍏ㄧ浉鍚岀殑闄ゅ锛屽1111锛夈傚皢鏁板瓧閲嶆柊缁勫悎鎴愪竴涓渶澶х殑鏁 鍜屾渶灏忕殑鏁扮浉鍑忥紝閲嶅杩欎釜杩囩▼锛屾渶澶氫竷姝ワ紝蹇呭緱6174銆傚嵆锛7641锛1467锛6174銆傚皢姘歌繙鍑轰笉鏉ャ缂栫▼锛氳緭鍏ヤ换涓鍥涗綅鏁帮紙鍏ㄧ浉鍚岀殑闄ゅ锛夛紝灞曠ず鍏舵搷浣滆繃绋...
  • C璇█缂栫▼棰樼洰?
    绛旓細//涓嶉毦锛屼笅闈㈡槸涓涓緥瀛愶紝渚涘弬鑰冧竴涓 include<stdio.h> int main(){ int i,a1=2;//鍏堣緭鍑篴1 printf("%d ",a1);//杩橀渶寰幆19娆 for(i=2;i<21;i++){ //璁$畻涓嬩竴椤 a1=2*a1-1;//杈撳嚭鏈」 printf("%d",a1);//姣忚緭鍑5涓氨鎹㈣ if(i%5==0)printf("\n");//鍚﹀垯锛屼互涓...
  • C璇█姹傛暀銆備竴涓皬灏忕殑缂栫▼闂,鍦ㄧ嚎绛
    绛旓細鏁版帶杞﹀簥缂栫▼100渚嬪浘 缂栫▼鏄В鍐抽棶棰樼殑鍚 鎵嬫満缂栫▼ plc缂栫▼ 鍏朵粬绫讳技闂2015-06-05 姹傞棶C璇█缂栫▼闂,鍦ㄧ嚎绛!!! 2 2015-04-27 C璇█缂栫▼棰姹傛暀!!鍦ㄧ嚎绛,璋㈣阿澶у浜嗐 2014-06-02 c璇█缂栫▼闂,鍦ㄧ嚎绛夈 1 2015-02-14 C璇█灏忕▼搴忕殑涓涓皬闂,鍦ㄧ嚎绛 路路路 2016-01-23 C璇█缂栫▼闂,...
  • C璇█缂栫▼棰
    绛旓細c = int(input("璇疯緭鍏ユ暣鏁癱锛"))d = int(input("璇疯緭鍏ユ暣鏁癲锛"))max_num = a if b > max_num:max_num = b if c > max_num:max_num = c if d > max_num:max_num = d min_num = a if b < min_num:min_num = b if c < min_num:min_num = c if d < min_...
  • 扩展阅读:初学者c语言的软件 ... 编程题库100题 ... c语言入门100题目 ... c语言题库 ... 大一c语言必背编程题 ... c语言测试题目及答案 ... 初学编程必背50个 ... c语言编程代码大全 ... c语言基础知识100题 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网