1. 程式人生 > >函式2 2018年11月29日

函式2 2018年11月29日

函式2 2018年11月29日
以下內容僅供娛樂,歡迎隨時探討,請多指教
1、下列程式定義了n×n的二維陣列,並在主函式中自動賦值。請編寫函式 fun(int a[][n]),該函式的功能是:使陣列左下半三角元素中的值全部置成0。

#include <stdio.h>
void fun(int a[][5])
{
	int i,k;
	for(i=0; i<5; i++)
		for(k=0; k<5; k++)
			if(i>=k)a[i][k]=0;
}
int main()
{
	int a[5][5];
	int i,k;
	for(i=0; i<
5; i++) for(k=0; k<5; k++) a[i][k]=5*i+k+1; fun(a); for(i=0; i<5; i++) { for(k=0; k<5; k++) printf("%d\t",a[i][k]); printf("\n\n"); } return 0; }

函式介面如下:int fun(int a[][N],int n)
2、下列程式定義了n×n的二維陣列,並在主函式中賦值。請編寫函式fun,函式的功能是求出陣列周邊元素的平均值並作為函式值返回給主函式中的s。
函式介面如下:double fun(int w[][N],int n)

#include <stdio.h>
double fun(int w[][5],int n)
{
	int i;
	double s;
	for(i=0; i<5; i++)
		s+=w[0][i]+w[4][i];
	for(i=1; i<5-1; i++)
		s+=w[i][0]+w[i][4];
	return s/(4*5-4);
}
int main()
{
	int a[5][5];
	int i,k;
	double s;
	for(i=0; i<5; i++)
		for(k=0; k<5; k++)
			a[i][k]=5*i+k+1;
	s=
fun(a,5); for(i=0; i<5; i++) { for(k=0; k<5; k++) printf("%d\t",a[i][k]); printf("\n\n"); } printf("s=%lf\n",s); return 0; }

3、請編寫一個函式void fun(int tt[m][n],int pp[n]),tt指向一個m行n列的二維陣列,求出二維陣列每列中最小元素,並依次放入pp所指定一維陣列中。二維陣列中的數已在主函式中賦予。
函式介面如下:void fun(int tt[M][N], int pp[N])

#include <stdio.h>
#define M 3
#define N 3
void fun(int tt[M][N], int pp[N])
{
	int i,k,n;
	for(i=0; i<3; i++) //列
	{
		n=0;
		for(k=0; k<3; k++) //行
		{
			if( tt[k][i] < tt[n][i] )n=k;//記錄
		}
		pp[i]=tt[n][i];
	}
}
int main()
{
	int tt[M][N]= {{5,2,13},{4,11,6},{7,8,9}},pp[N];
	int i,k;
	fun(tt,pp);
	printf("before is\n");
	for(i=0; i<M; i++)
	{
		for(k=0; k<N; k++)
			printf("%d\t",tt[i][k]);
		printf("\n\n");
	}
	for(i=0; i<3; i++)
		printf("%d ",pp[i]);
	return 0;
}

4、請編寫一個函式unsigned fun(unsigned w),w是一個大於10的無符號整數,若w是n(n≥2)位的整數,則函式求出w後n-1位的數作為函式值返回。
函式介面如下:unsigned int fun(unsigned int w)

#include <stdio.h>
//注意範圍
unsigned int fun(unsigned int w)
{
	if(w>=10000) return w%10000;
	if(w>=1000) return w%1000;
	if(w>=100) return w%100;
	return w%10;
}
int main()
{
	unsigned int w;
	printf("input a integer\n");
	scanf("%u",&w);
	w=fun(w);
	printf("%u\n",w);
	return 0;
}

5、請編寫一個函式float fun(double h),函式的功能是對變數h中的值保留2位小數,並對第三位進行四捨五入(規定h中的值為正數)。
函式介面如下:float fun(float h)

#include <stdio.h>
float fun(float h)
{
	long long t;
	h=h*1000;
	t=(h+5)/10;
	return (float)t/100;
}
int main()
{
	float h;
	printf("input a float\n");
	scanf("%f",&h);
	h=fun(h);
	printf("answer is %.2f\n",h);
	return 0;
}

6、請編寫一個函式void fun(char *s),該函式的功能使把字串中的內容逆置。
函式介面如下:void fun(char *s)

#include <stdio.h>
#include <string.h>
void fun(char *s)
{
	int i,n;
	char temp;
	n=strlen(s);
	for(i=0; i<n/2; i++)
	{
		temp=s[i];
		s[i]=s[n-i-1];
		s[n-i-1]=temp;
	}
}
int main()
{
	char a[100];
	int i;
	printf("input your strings\n");
	gets(a);
	printf("before is:\n");
	puts(a);
	fun(a);
	printf("then is:\n");
	puts(a);
	for(i=0; a[i]!='\0'; i++)
		printf("%c",a[i]);
	return 0;
}

7、編寫程式,實現矩陣(3行3列)的轉置(即行列互換)。
函式介面如下:void fun(int array[3][3])

#include <stdio.h>
void fun(int array[3][3])
{
	int b[3][3];
	int i,k;
	for(i=0; i<3; i++)
		for(k=0; k<3; k++)
			b[i][k]=array[k][i];
	for(i=0; i<3; i++)
		for(k=0; k<3; k++)
			array[i][k]=b[i][k];
}
int main()
{
	int a[3][3];
	printf("input 3*3 numbers\n");
	int i,k;
	for(i=0; i<3; i++)
		for(k=0; k<3; k++)
			scanf("%d",&a[i][k]);
	fun(a);
	for(i=0; i<3; i++)
	{
		for(k=0; k<3; k++)
			printf("%d\t",a[i][k]);
		printf("\n\n");
	}
	return 0;
}

8、編寫函式fun,該函式的功能是:從字元中刪除指定的字元,同一字母的大、小寫按不同字元處理。
函式介面如下:void fun(char s[],int c)

#include<stdio.h>
#include<string.h>
void fun(char s[],int c)
{
	int i,k,pos,count=0;
	for(i=0; i<strlen(s); i++)
	{
		if(*s+i == c)
		{
			pos=i;
			for(k=pos; k<strlen(s)+1; k++)
				s[k]=s[k+1];
		}
	}
}
int main()
{
	int c;
	char s[100]="aaabcdefghijklmnopqrst";
	printf("before is\n");
	puts(s);
	do
	{
		printf("input your string\n");
		scanf("%c",&c);
		printf("then is\n");
		fun(s,c);
		puts(s);
		getchar();
	}
	while(1);
	return 0;
}

9、編寫函式int fun(int lim,int aa[max]),該函式的功能是求出小於或等於lim的所有素數並放在aa陣列中,該函式返回所求的素數的個數。
函式介面如下:int fun(int lim, int aa[MAX])

#include<stdio.h>
#define MAX 100
int fun (int lim,int aa[MAX])
{
	int a,i,t=0;
	for(a=2; a<=lim; a++)
	{
		for(i=2; i<a; i++)
		{
			if(a%i==0)
				break;
		}
		if(i==a)//如果大於2小於a之間的所有數都不能被a整除,則a就是素數
			aa[t++]=a;
	}
	return t;
}
int main()
{
	int lim,i,sum;
	int aa[MAX];
	printf("請輸入一個整數:>");
	scanf("%d",&lim);
	sum=fun(lim,aa);
	for(i=0; i<sum; i++)
	{
		if(i%10==0&&i!=0)//i是10的倍數就換行
			printf("\n");
		printf("%5d",aa[i]);//列印間隔為5個位元組
		printf("\n");
	}
	printf("sum=%d\n",sum);
	return 0;
}

10、請編寫函式fun,對長度為7個字元的字串,除首尾字元外,將其餘5個字元按ascii碼降序排列。
函式介面如下:void fun(char *s,int num)

#include "stdio.h"
#include "string.h"
void fun(char *s,int num)
{
	int i,k;
	for(i=1; i<strlen(s); i++)
		for(k=1; k<strlen(s)-i; k++)
			if(s[k]>s[k+1])
			{
				char t= s[k];
				s[k]=s[k+1],s[k+1]=t;
			}
}
int main()
{
	char s[7];
	int n;
	do
	{
		printf("input ypur strings(6)\n");
		gets(s);
		n=strlen(s);
	}
	while(n != 6);
	fun(s,5);
	printf("then is\n");
	puts(s);
	return 0;
}

11、請編寫函式fun,該函式的功能是:判斷字串是否為迴文?若是則函式返回1,主函式中輸出yes,否則返回0,主函式中輸出no。迴文是指順讀和倒讀都是一樣的字串。
函式介面如下:int fun(char *str)

#include "stdio.h"
#include "string.h"
int fun(char *str)
{
	int i,j,t=0;
	for(i=0,j=strlen(str)-1; i<=j; i++,j--)
		t+=str[i]-str[j];
	if(t == 0)return 1;
	return 0;
}
int main()
{
	char str[1000];
	printf("input your strings\n");
	gets(str);
	if(fun(str) == 1)printf("yes\n");
	if(fun(str) == 0)printf("no\n");
	return 0;
}

12、請編寫一個函式fun,它的功能是:比較兩個字串的長度,(不得呼叫c語言提供的求字串長度的函式),函式返回較長的字串。若兩個字串長度相同,則返回第一個字串。
函式介面如下:char *fun(char *s,char *t)

#include<stdio.h>
char *fun(char *s, char *t)
{
	//注意返回的是地址,不要對地址修改(++`--)
	int s1 = 0, t1 = 0;
	char *ss=s, *tt=t;
	while (*ss)
	{
		s1++;
		ss++;
	}
	while (*tt)
	{
		t1++;
		tt
            
           

相關推薦

函式2 20181129

函式2 2018年11月29日 以下內容僅供娛樂,歡迎隨時探討,請多指教! 1、下列程式定義了n×n的二維陣列,並在主函式中自動賦值。請編寫函式 fun(int a[][n]),該函式的功能是:使陣列左下半三角元素中的值全部置成0。 #include <stdio.h> vo

RxJava2.0學習筆記2 2018329 星期四

pos 2.0 學習筆記 blog rxjava (九) 星期 ava 筆記 給初學者的RxJava2.0教程(一) 給初學者的RxJava2.0教程(二) 給初學者的RxJava2.0教程(三) 給初學者的RxJava2.0教程(四)

函式20181110

以下內容僅供娛樂,歡迎隨時探討,請多指教! 2018年11月10日 函式(一) 1、寫一個求階乘的函式,在主函式輸入一個整數,並輸出該整數的階乘。 #include <stdio.h> int fact(int n) { int i,fact=1; for(i

# 程式設計俱樂部每日一練(20181129)取蘋果

程式設計俱樂部每日一練(2018年11月29日)取蘋果 Description 勝鵬dalao有nn個蘋果,編號為1-n1−n。一天,子旭dalao想去勝鵬dalao那吃蘋果,為了難住子旭dalao,勝鵬大佬給子旭dalao出了一道題。 所有蘋果開始時都是未被取出的,子旭dala

20181129訓練日記

這幾天就打了一場cf的div.2,嗯。。。終測前912,終測完597,上了35分。。。突破1700。。。 D題還是值得再回去好好思考。E題待補。 新生賽題目驗題。。。感覺自己蠢死。。。各種細節出錯。。。 然後報名人數接近140。。。希望伺服器不會炸。。。 下週六熱身,下下週日正式賽。

2018329 11:02:33 關於docker分享之分布式存儲 glusterfs

glusterfs k8s docker 2018年3月29日 11:02:33 關於docker分享之分布式存儲 glusterfs 經典語錄: 實際實驗搭建:前提 是要保證 一個 /data目錄不和根分區在同一個磁盤!1、centos7安裝glusterfs參考鏈接:https://wik

20181122 元祖2 E18燈翼平整度

創建 無序 括號 val 不能 div style spa class 如果創建的東西需要增加修改的,則用list 如果不能修改就用元祖,如果需要修改這需要轉成list 字典 字典的value是任意值 info= {"k1":‘v1‘,"k2":"v2"} # 用逗號

函式上機題目20181123

函式上機題目2018年11月23日 以下內容僅供娛樂,歡迎隨時探討,請多指教! 1)寫一個判斷素數的函式,在主函式輸入一個整數,並輸出是否素數的資訊 #include <stdio.h> #include <math.h> int fun(int n) { in

2018111開通部落格園感想!

為什麼開通部落格園?對啊?我也想問自己這個問題。我想,還是為了自己心中那份不安分吧。至於自己心中的那小目標,我一直在奮鬥著。。。。。,我感覺在向我招手,我在一直在努力著。歸結一點就是使自己to Strong,better Strong。 學習是一個持續的過程,由於學習知識的混亂,我認為有必要將自己的學習的知

2018111開通博客園感想!

歸納 str 知識 ron tle 總結 後來 混亂 一點 為什麽開通博客園?對啊?我也想問自己這個問題。我想,還是為了自己心中那份不安分吧。至於自己心中的那小目標,我一直在奮鬥著。。。。。,我感覺在向我招手,我在一直在努力著。歸結一點就是使自己to Strong,bett

薄荷英語--20181029知識點總結

薄荷英語--2018年10月29日知識點總結 一、每日一句 二、背景知識 1、 白麵包與黑麵包 三、語言知識 四、今日短語 五、今日彩蛋 一、每日一句 Even a small pe

2018111提高組 T1 可見點數

大意 給定一個 n × n n\

CocoaPods更新2018110616:06:48

https://gems.ruby-china.org點進去就知道了……   CocoaPods命令 更新 sudo gem install cocoa pods 檢視版本 pod --version 檢視gem源 gem sources -l 刪除gem源 gem sour

Apache Struts最新漏洞 遠端程式碼執行漏洞預警 20181108

2018年11月8日,SINE安全監控檢測中心,檢測到Apache Struts官方更新了一個Struts漏洞補丁,這個漏洞是Apache Struts目前最新的漏洞,影響範圍較廣,低於Apache Struts 2.3.35的版本都會受到此次Struts漏洞的***,目前apache官方更新的漏洞補丁,主要

Apache Struts最新漏洞 遠程代碼執行漏洞預警 20181108

pro 都在 網站服務器 技術 common log down ESS 詳細 2018年11月8日,SINE安全監控檢測中心,檢測到Apache Struts官方更新了一個Struts漏洞補丁,這個漏洞是Apache Struts目前最新的漏洞,影響範圍較廣,低於Apach

2018118有感而發

  人最大的悲哀就在於短視吧。   當我們躺在自己的生活裡看別人的故事,我們會羨慕別人。但很多時候我們都忘了其實我們也可以活得那麼精彩。   你本可以讀書,但你沒有;你本可以跑步,但你沒有;你本可以認真努力,但你沒有。   哪裡有什麼驚天動地?哪裡有什麼永垂不朽?   不過都是平淡的生活打磨出來的石子

20181110——《啟示錄》閱讀思考(第三章)

第三章——產品管理與專案管理 1、產品經理兼任專案經理的工作這種模式雖然適用於零售軟體產品,但不太適合開發網際網路服務類產品。 2、在零售軟體領域,產品通常以獨立安裝包的形式釋出,釋出間隔從幾個月到幾年不等,產品和專案具有相同的粒度,開發頻率也相同,產品經理兼任專案經理相對容易。

20181110 關於Vue.js生態之Vue-router and 傳參方式

關於router的用法 //在html中的相關程式碼 <div id="app"> <div> <router-link to="/">首頁</router-link> //<router-link>是Vue-route

20181110 關於Vue的混合mixins and 插槽slots

1、混合mixins //在html中的相關程式碼 <div id="app"> <popup></popup> <tooltip></tooltip> </div> //在Vue.js的相

20181109 關於Vue的過濾器 and 自定義指令—基礎配置 and 配置傳參及修飾符

1、過濾器 //在html下的程式碼 <div id="app"> <div> <input type="text" v-model="len" />mm {{len | meter}} </div