c語言編程方案,c語言編程方案怎麼編

本文目錄一覽:

C語言程序設計方案!!二維數組應用 矩陣算法 求高人

#include

stdio.h

void

input_data(int

*l,int

*r,int

data[100][100])

{

int

i,j,k;

printf(“輸入矩陣行數:”);

scanf(“%d”,l);

printf(“輸入矩陣列數:”);

scanf(“%d”,r);

printf(“按行輸入數據,數據間用空格間隔:\n”);

for(i=0;i*l;i++)

for(j=0;j*r;j++)

scanf(“%d”,data[i][j]);

}

int

add_subtra(int

m1[100][100],int

l1,int

r1,

int

m2[100][100],int

l2,int

r2,char

m,int

rm[100][100])

{

int

i,j;

if(l1!=l2

||

r1!=r2)

{

printf(“矩陣數據錯誤1.\n”);

return;

}

if(m==’+’)

for(i=0;il1;i++)

for(j=0;jr1;j++)

rm[i][j]=m1[i][j]+m2[i][j];

else

for(i=0;il1;i++)

for(j=0;jr1;j++)

rm[i][j]=m1[i][j]-m2[i][j];

}

int

mul(int

m1[100][100],int

l1,int

r1,

int

m2[100][100],int

l2,int

r2,int

m[100][100])

{

int

i,j,k;

if(l1!=r2

)

{

printf(“矩陣數據錯誤2.\n”);

return;

}

for(i=0;il1;i++)

for(j=0;jr2;j++)

{

m[i][j]=0;

for(k=0;kr1;k++)

m[i][j]+=m1[i][k]*m2[k][j];

}

}

int

output(int

m[100][100],int

l,int

r)

{

int

i,j;

for(i=0;il;i++)

{

for(j=0;jr;j++)

printf(“%3d

“,m[i][j]);

printf(“\n”);

}

}

int

main()

{

int

d1[100][100],d2[100][100],d[100][100];

int

l1,r1,l2,r2;

int

i,j,k;

char

mark[2];

printf(“輸入第一個矩陣數據:\n”);

input_data(l1,r1,d1);

printf(“輸入的第一個矩陣:\n”);

output(d1,l1,r1);

printf(“輸入第二個矩陣數據:\n”);

input_data(l2,r2,d2);

printf(“輸入的第二個矩陣:\n”);

output(d2,l2,r2);

printf(“指定運算符(+/-/*):”);

scanf(“%s”,mark);

while(mark[0]!=’+’

mark[0]!=’-‘

mark[0]!=’*’)

{

printf(“符號錯誤請重新輸入(+/-/*):”);

scanf(“%s”,mark);

}

switch(mark[0])

{

case

‘+’:

case

‘-‘:

add_subtra(d1,l1,r1,d2,l2,r2,mark[0],d);

break;

case

‘*’:

mul(d1,l1,r1,d2,l2,r2,d);

break;

}

//output(d1,l1,r1);

//output(d2,l2,r2);

printf(“運算:%c,計算結果為:\n”,mark[0]);

output(d,l1,r2);

system(“pause”);

}

兩個運算矩陣可以是大小不同的,

輸出結果由被乘數矩陣的行和乘數矩陣的列決定,

你要求的輸出格式比較煩,沒時間不夠啦!有時間再玩吧。

C語言編程的一般步驟有哪些?

首先明確要解決的問題;

其次分析問題並選擇想要利用的算法,或者自己想一個的算法;

畫流程圖,明確解決問題過程中的邏輯關係和時序關係;

然後才是上機編寫代碼;

之後是debug調試,基本就可以執行了。

具體就上機編寫代碼來講,首先需要打開C++的開發環境,然後新建一個工程;

然後新建一個文件(如果是VC6.0就可以繼續寫了,如果是VS20**的話就需要在文件菜單中選擇將文件移入工程);

在文件中寫入代碼,然後就可以編譯運行了。

具體代碼的格式來講,首先應該引用頭文件#include”頭文件名(不帶.h)”,然後在所有頭文件引入之後加一行using namespace std;後面可以寫函數了,具體就看你自己的發揮了~

c語言如何編程

C語言編程如何快速實現

在我們初次學習C語言的時候,總想着快速的實現編譯過程。那麼C語言編程究竟是如何實現的呢,當然是要通過自己喜歡的編譯器來編譯完成,那麼今天就為大家介紹C語言編程是如何快速的實現。

1. 首先我們下載一款適合C語言的編譯器,今天為大家講解的C語言編譯器為CodeBlocks,該編譯器沒有太過複雜,很符合初學者,簡單上手快。

2. 首先雙擊打開編譯器,進入登錄選擇界面,我們選擇添加一個新項目。

3. 然後進入選擇界面,優先選擇「Console application」,然後雙擊進入下一個界面。

4. 進入之後便是提示界面,我們選擇「Next」下一步。然後在選擇C++語言,C++語言是C語言的升級版,然後再次點擊「Next」,進入下一步。

5. 選擇創建的名稱,可以創建一個醒目的名稱。然後便是文件放置位置,然後點擊「Next」。

6. 點擊最左側欄「main.cpp」會出現編程書寫界面,然後便可以實現我們的代碼編程。

7. 首先要屬於有關C語言的頭文件#includestdio.h,頭文件是為了下面更好的應用,如果編程的代碼有遇到其他頭文件如數學函數頭文件#includemath.h,以及字符串頭文件#includestring.h。

8. 對於C語言我們首先要學會的便是輸出「Hello world」,那麼今天我們就實現Helloworld的輸出。在主程序優先寫出main函數,然後便是對於我們要用到的內容開始書寫。因為我們只需要輸出簡單的「Helloworld」,所以整條語句便是只有一行printf(“”);輸出的意思,我們只需要將自己想要輸出的填寫在雙引號裏面便可以實現。那麼我們的代碼行便成為了printf(“Hello world”);

9. 下面便是測試我們的代碼是否正確,點擊上方的編譯,如果成功,便可以運行如下,運行框成功出現我們結果,表明編譯成功,便完成了基礎的C語言編譯。

C語言編程

這5道題,我全部在機子上調試通過了。。。all right!。。。你在vc++6上直接去運行,應該是沒有問題的。有些題的解決方案還不算很完美,不過已經完全到達要求。

第一道:

#include “stdio.h”

main()

{ int j,k,a[12],*p;

p=a[0]; //是p=a[0];(或者p=a;)將指針指向數組頭

for(j=0;j12;j++)

scanf(“%d”,p++);

p=a[0]; //輸入之後,再次將指針指向數組頭

for(j=0;j12;j++)

{ printf(“%d”,*p++);

if((j+1)%4 == 0) //是j除以4求余,j從0開始的,不行。所以改成j+1

printf(“\n”);

}

}

第二題:編寫一個函數將給定字符串指定起始位置後的字符串複製到另一個字符串中去,主函數中輸入一個字符串,調用該子函數,複製出另一字符串,後將其輸出。

就是寫個子函數那個:

#include “stdio.h”

#include “string.h”

void main()

{

void copystr(char*,char*,int);

int m;

char str1[20],str2[20];

printf(“input string:”);

gets(str1);

printf(“which character that begin to copy?”);

scanf(“%d”,m);

if(strlen(str1)m)

printf(“input error!”);

else

{

copystr(str1,str2,m);

printf(“result:%s\n”,str2);

}

}

void copystr(char* str1,char* str2,int m)

{

char *p=str1,*q=str2;

for(int i=1;im;i++) //指針移動到目的位置

p++;

while((*q++=*p++)!=’\0′); //開始賦值,直到結尾

}

3. 編寫一個程序,從鍵盤輸入一個1-7之間的數字,輸出其對應星期的英文。對應

順序如下表所示:

1 Monday

2 Tuesday

3 Wednesday

4 Thursday

5 Friday

6 Saturday

7 Sunday

提示:使用字符指針數組。

#include “stdio.h”

void main()

{

int m;

char str1[7][10]={“Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”,”Sunday”};

printf(“which date that begin to output,please enter 1-7:?”);

scanf(“%d”,m);

if (m0 ||m7)

printf(“please enter right number!\n”);

else

printf(“today is :%s\n”,str1[m-1]);

}

4. 有若干名學生,共修5門功課。他們的學號和成績都存放在二維數組s中,每一

行對應一名學生,且每行的第1列存放學生的學號,現要輸出指定學生的成績。

要求:補充完整search函數。

#include stdio.h

#define MAXN 3

int s[MAXN][6]={{1001,70,80,96,70,90},

{1002,40,80,50,60,80},

{1003,50,70,40,50,75}};

void search(int (*p)[6],int m,int no)

{

int i;

no=no%m; //輸入一個數,超過maxn的數求其餘數,即 讓它在數組範圍內

for(i=0;ino-1;i++)

{

p++; //指針移到選中的一組數據上,以便進行數據輸入

}

printf(“stuNo:\t1\t2\t3\t4\t5\n”);

for(i=0;i6;i++)

printf(“%d\t”,(*p)[i]); //輸出選中數據

printf(“\n”);

}

void main()

{

int num;

printf(“Enter the number of student:\n”);

scanf(“%d”,num);

search(s,MAXN,num);

}

5. 調試下列程序,使之具有如下功能:任意輸入2個數,調用兩個函數分別求:

⑴ 2個數的和,

⑵ 2個數交換值。

要求用函數指針調用這兩個函數,結果在主函數中輸出。

#include stdio.h

void main() //添加返回類型

{ int a,b,c=0; //用『;』

void (*p)(int *a,int *b); //規範書寫其相對應的函數指針

void (*q)(int *a,int *b,int *c);

void sum(int *a,int *b,int *c); //聲明函數,先聲明,後調用,形參用指針類型,才能使a,b互換。

void swap(int*,int *);

printf(“Enter a:”); //分別輸入a。和b

scanf(“%d”,a);

printf(“Enter b:”);

scanf(“%d”,b);

p=swap; //p指向的swap函數地址,所以加一個地址運算符

p(a,b);

printf(“a=%d,b=%d\n”,a,b);

q= sum; //這裡的空格記得去掉哦,因為百度一些特殊規定,這裡的 sum=∑

q(a,b,c);

printf(“sum=%d\n”,c);

}

void sum(int *a,int *b,int *c) //這裡用指針類型的形參才能使主函數的變量產生作用(賦值)

{

*c=*a+*b;

}

void swap(int *a,int *b) //形參中間應該用逗號,不是分號,同時,這裡用指針類型的形參才能使主函數的變量產生作用(賦值)

{ int t;

t=*a;

*a=*b;

*b=t;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236140.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:58
下一篇 2024-12-12 11:58

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • KeyDB Java:完美的分佈式高速緩存方案

    本文將從以下幾個方面對KeyDB Java進行詳細闡述:KeyDB Java的特點、安裝和配置、使用示例、性能測試。 一、KeyDB Java的特點 KeyDB Java是KeyD…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28

發表回復

登錄後才能評論